Trong nhiệm vụ của mình, những gì tôi cần làm là trừ đi vài giờ và phút như [____ 10, ________ 11 ... bất kỳ giá trị nào] từ thời điểm [
from datetime import datetime, timedelta
d = datetime.today[] - timedelta[hours=0, minutes=50]
d.strftime['%H:%M %p']
2] và ở phía đầu ra, tôi cần hiển thị thời gian sau khi trừ. Thời gian và giá trị from datetime import datetime, timedelta
d = datetime.today[] - timedelta[hours=0, minutes=50]
d.strftime['%H:%M %p']
3 được mã hóa cứngEx:
my_time = 1:05 AM
duration = 0:50
Vì vậy, đầu ra phải là
from datetime import datetime, timedelta
d = datetime.today[] - timedelta[hours=0, minutes=50]
d.strftime['%H:%M %p']
4Đầu ra phải là chính xác và ở định dạng AM/pm và áp dụng cho tất cả các giá trị [
from datetime import datetime, timedelta
d = datetime.today[] - timedelta[hours=0, minutes=50]
d.strftime['%H:%M %p']
5].Tôi không quan tâm khoảng vài giây, tôi chỉ cần nhiều giờ và phút.
Hỏi ngày 25 tháng 9 năm 2017 lúc 9:37Sep 25, 2017 at 9:37
0
from datetime import datetime, timedelta
d = datetime.today[] - timedelta[hours=0, minutes=50]
d.strftime['%H:%M %p']
Đã trả lời ngày 25 tháng 9 năm 2017 lúc 9:46Sep 25, 2017 at 9:46
Asfartoasfartoasfarto
1.8311 Huy hiệu vàng10 Huy hiệu bạc10 Huy hiệu đồng1 gold badge10 silver badges10 bronze badges
1
Điều này làm việc cho tôi:
from datetime import datetime
s1 = '10:04:00'
s2 = '11:03:11' # for example
format = '%H:%M:%S'
time = datetime.strptime[s2, format] - datetime.strptime[s1, format]
print time
Đã trả lời ngày 25 tháng 9 năm 2017 lúc 10:39Sep 25, 2017 at 10:39
TaniyataniyaTaniya
2382 Huy hiệu bạc8 Huy hiệu Đồng2 silver badges8 bronze badges
2
from datetime import datetime
d1 = datetime.strptime["01:05:00.000", "%H:%M:%S.%f"]
d2 = datetime.strptime["00:50:00.000", "%H:%M:%S.%f"]
print [d1-d2]
Đã trả lời ngày 25 tháng 9 năm 2017 lúc 9:42Sep 25, 2017 at 9:42
Thánh lễ Fuzed MassfuzedFuzed Mass
4101 Huy hiệu vàng3 Huy hiệu bạc1 gold badge3 silver badges10 bronze badges
0
Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để trừ đi hàng giờ từ một dấu thời gian nhất định trong Python bằng thời gian bằng thời gian, gấu trúc hoặc tương đối. Giả sử bạn có dấu thời gian là chuỗi và bạn muốn trừ n giờ từ nó, trong đó n có thể là bất kỳ số nào. Nhưng bạn muốn dấu thời gian cuối cùng sau khi trừ n giờ, theo định dạng chuỗi đã cho. Hãy để xem cách làm điều đó, Python cung cấp một mô -đun dữ liệu để thao tác ngày và giờ. Nó bao gồm các lớp học sau,module datetime for manipulation of date and time. It consists of following classes, Để trừ đi hàng giờ từ một dấu thời gian nhất định, chúng tôi sẽ sử dụng các lớp DateTime và Timedelta của mô -đun DateTime. Các bước để trừ n giờ từ DateTime như sau,Trừ những giờ từ dấu thời gian trong Python sử dụng Timedelta
Quảng cáo
Bước 1: Nếu dấu thời gian đã cho ở định dạng chuỗi, thì chúng ta cần chuyển đổi nó thành đối tượng DateTime. Cho rằng chúng ta có thể sử dụng hàm DateTime.strptime []. Trong khi đó, nếu dấu thời gian đã cho đã là một đối tượng DateTime, thì bạn có thể bỏ qua bước này. Đối với điều đó, hãy vượt qua giờ đối số với giá trị n trong hàm tạo thời gian. Nó sẽ cung cấp cho chúng tôi một đối tượng DateTime mới, chỉ vào dấu thời gian mới, tức là n giờ trước dấu thời gian đã cho. Bạn có thể chuyển chuỗi định dạng làm đối số và nó sẽ chuyển đổi đối tượng DateTime thành một chuỗi của định dạng được chỉ định. If the given timestamp is in a string format, then we need to convert it to the datetime object. For that we can use the datetime.strptime[] function. Whereas, if the given timestamp is already a datetime object, then you can skip this step.
Step 2: Create an object of timedelta, to represent an interval of N hours. For that, pass the argument hours with value N in the timedelta constructor.
Step 3: Subtract the timedelta
object from the datetime object. It will give us a new datetime object, pointing to a new timestamp i.e. N hours before the given timestamp.
Step 4: If you want the final timestamp in string format, then convert the datetime object to string using strftime[]. You can pass the format string as argument and it will convert the datetime object to a string of the specified format.
Hãy để hiểu với một ví dụ,
Trừ 2 giờ từ dấu thời gian trong Python
from datetime import datetime from datetime import timedelta # Given timestamp in string time_str = '24/7/2021 11:13:08.230010' date_format_str = '%d/%m/%Y %H:%M:%S.%f' # create datetime object from timestamp string given_time = datetime.strptime[time_str, date_format_str] print['Given Time: ', given_time] n = 2 # Subtract 2 hours from datetime object final_time = given_time - timedelta[hours=n] print['Final Time [2 hours ahead of given time ]: ', final_time] # Convert datetime object to string in specific format final_time_str = final_time.strftime['%d/%m/%Y %H:%M:%S.%f'] print['Final Time as string object: ', final_time_str]
Đầu ra
Given Time: 2021-07-24 11:13:08.230010 Final Time [2 hours ahead of given time ]: 2021-07-24 09:13:08.230010 Final Time as string object: 24/07/2021 09:13:08.230010
Như dấu thời gian đã được đưa ra trong chuỗi, vì vậy trước tiên chúng tôi đã chuyển đổi nó thành đối tượng DateTime. Sau đó, chúng tôi đã tạo một đối tượng tương đối, đại diện cho 30 giờ bằng cách chuyển đối số giờ là 30. Sau đó trừ đi từ đối tượng DateTime. Nó đã trả lại một đối tượng DateTime mới chỉ vào dấu thời gian mới, tức là 30 giờ trước dấu thời gian đã cho.
Chúng tôi đã tìm hiểu về ba cách khác nhau để trừ n giờ từ thời gian trong Python.
Chúng ta có thể trừ hai dấu thời gian trong Python không?
Phương thức TimeDelta []. Để tìm sự khác biệt giữa hai ngày trong Python, người ta có thể sử dụng lớp Timedelta có trong thư viện DateTime. Lớp Timedelta lưu trữ sự khác biệt giữa hai đối tượng DateTime.provide a class DateOffset, to store the duration or interval information. It is mostly used to increment or decrement a timestamp. It can be used with datetime module to subtract N hours from a datetime. Let’s understand with an example,
Trừ 3 giờ từ một DateTime trong Python
from datetime import datetime import pandas as pd # Given timestamp in string time_str = '24/7/2021 11:13:08.230010' date_format_str = '%d/%m/%Y %H:%M:%S.%f' # create datetime object from timestamp string given_time = datetime.strptime[time_str, date_format_str] print['Given Time: ', given_time] n = 3 # Subtract 3 hours from datetime object final_time = given_time - pd.DateOffset[hours=n] print['Final Time [3 hours ahead of given time ]: ', final_time] # Convert datetime object to string in specific format final_time_str = final_time.strftime['%d/%m/%Y %H:%M:%S.%f'] print['Final Time as string object: ', final_time_str]
Đầu ra
Given Time: 2021-07-24 11:13:08.230010 Final Time [3 hours ahead of given time ]: 2021-07-24 08:13:08.230010 Final Time as string object: 24/07/2021 08:13:08.230010
Chúng tôi đã tạo một đối tượng Date Offerset bằng cách chuyển đối số giờ là 3. Sau đó, chúng tôi đã trừ đối tượng DateOffet này vào đối tượng DateTime. Nó đã trả lại một đối tượng DateTime mới chỉ vào dấu thời gian mới, tức là 3 giờ trước dấu thời gian đã cho.
Trừ những giờ từ dấu thời gian nhất định trong Python bằng cách sử dụng tương đối
Trong Python, mô -đun DateUtil cung cấp một lớp tương đối, đại diện cho một khoảng thời gian. Lớp RelativeSelta có tất cả các thuộc tính để thể hiện một thời lượng, tức là năm, tháng, ngày, giờ, phút, giây và micro giây.dateutil module provides a class relativedelta, which represents an interval of time. The relativedelta class has all the attributes to represent a duration i.e. Year, Month, Day, Hours, Minutes, Seconds and Microseconds.
Vì vậy, để trừ đi hàng giờ từ một dấu thời gian nhất định, chúng ta có thể tạo một đối tượng tương đối để biểu thị khoảng thời gian tính bằng giờ và sau đó trừ nó khỏi đối tượng DateTime có chứa ngày đưa ra. Hãy để hiểu với một ví dụ,
Trừ 30 giờ từ dấu thời gian trong Python
from datetime import datetime from dateutil.relativedelta import relativedelta # Given timestamp in string time_str = '24/7/2021 11:13:08.230010' date_format_str = '%d/%m/%Y %H:%M:%S.%f' # create datetime object from timestamp string given_time = datetime.strptime[time_str, date_format_str] print['Given Time: ', given_time] n = 30 # Subtract 3 hours from datetime object final_time = given_time - relativedelta[hours=n] print['Final Time [30 hours ahead of given time ]: ', final_time] # Convert datetime object to string in specific format final_time_str = final_time.strftime['%d/%m/%Y %H:%M:%S.%f'] print['Final Time as string object: ', final_time_str]
Đầu ra
Given Time: 2021-07-24 11:13:08.230010 Final Time [30 hours ahead of given time ]: 2021-07-23 05:13:08.230010 Final Time as string object: 23/07/2021 05:13:08.230010
Chúng tôi đã tạo một đối tượng Date Offerset bằng cách chuyển đối số giờ là 3. Sau đó, chúng tôi đã trừ đối tượng DateOffet này vào đối tượng DateTime. Nó đã trả lại một đối tượng DateTime mới chỉ vào dấu thời gian mới, tức là 3 giờ trước dấu thời gian đã cho.
Summary:
Trừ những giờ từ dấu thời gian nhất định trong Python bằng cách sử dụng tương đối