Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để thêm giờ vào một dấu thời gian nhất định trong Python bằng thời gian sử dụ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 thêm n giờ vào 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 thêm 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, Để thêm giờ trong 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.datetime and timedelta classes of the datetime module. Các bước để thêm N giờ vào DateTime như sau, Quảng cáoThêm giờ vào dấu thời gian trong Python bằng cách sử dụng TimeDelta
- 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. 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.
- Bước 2: Tạo một đối tượng của Timedelta, để biểu thị khoảng thời gian N giờ. Đối với điều đó, vượt qua giờ đối số với giá trị n trong hàm tạo thời gian. 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.
- Bước 3: Thêm đối tượng TimeDelta vào đối tượng DateTime. 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ờ sau dấu thời gian nhất định. Add the timedelta object to the datetime object. It will give us a new datetime object, pointing to a new timestamp i.e. N hours after the given timestamp.
- Bước 4: Nếu bạn muốn dấu thời gian cuối cùng trong định dạng chuỗi, thì hãy chuyển đổi đối tượng DateTime thành chuỗi bằng cách sử dụng strftime []. 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 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ụ,
Thêm 2 giờ vào 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 # Add 2 hours to datetime object final_time = given_time + timedelta[hours=n] print['Final Time [2 hours after 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 after given time ]: 2021-07-24 13:13:08.230010 Final Time as string object: 24/07/2021 13:13:08.230010
Chúng tôi đã thêm 2 giờ vào dấu thời gian24/7/2021 11: 13: 08.230010 ′ để làm cho nó2424/07/2021 13: 13: 08.230010.
Khi chúng tôi thêm một thời gian [thời lượng 2 giờ] vào đối tượng DateTime, do đó, nó đã trả về một đối tượng DateTime mới chỉ vào dấu thời gian mới. Sau đó, chúng tôi đã chuyển đổi đối tượng DateTime sang định dạng chuỗi cần thiết bằng cách sử dụng DateTime.strftime []. Nếu chuỗi dấu thời gian của bạn có một số định dạng khác, thì bạn có thể thay đổi định dạng theo đó trong khi sử dụng strptime [] & strftime [].
Thêm giờ để có dấu thời gian nhất định trong Python bằng cách sử dụng gấu trúc
Pandas cung cấp một ngày học lớp, để lưu trữ thông tin thời lượng hoặc khoảng. Nó chủ yếu được sử dụng để tăng hoặc giảm dấu thời gian. Nó có thể được sử dụng với mô -đun DateTime để thêm N giờ vào DateTime. Hãy để hiểu với một ví dụ,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 add N hours to a datetime. Let’s understand with an example,
Thêm 3 giờ vào 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 # Add 3 hours to datetime object final_time = given_time + pd.DateOffset[hours=n] print['Final Time [3 hours after 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 after given time ]: 2021-07-24 14:13:08.230010 Final Time as string object: 24/07/2021 14:13:08.230010
Chúng tôi đã thêm 2 giờ vào dấu thời gian24/7/2021 11: 13: 08.230010 ′ để làm cho nó2424/07/2021 13: 13: 08.230010.DateOffset object by passing hours argument as 3. Then we added this DateOffset object to the datetime object. It returned a new datetime object pointing to a new timestamp i.e. after 3 hours from the given timestamp.
Khi chúng tôi thêm một thời gian [thời lượng 2 giờ] vào đối tượng DateTime, do đó, nó đã trả về một đối tượng DateTime mới chỉ vào dấu thời gian mới. Sau đó, chúng tôi đã chuyển đổi đối tượng DateTime sang định dạng chuỗi cần thiết bằng cách sử dụng DateTime.strftime []. Nếu chuỗi dấu thời gian của bạn có một số định dạng khác, thì bạn có thể thay đổi định dạng theo đó trong khi sử dụng strptime [] & strftime [].
Thêm giờ để có dấu thời gian nhất định trong Python bằng cách sử dụng gấu trúcdateutil 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.
Pandas cung cấp một ngày học lớp, để lưu trữ thông tin thời lượng hoặc khoảng. Nó chủ yếu được sử dụng để tăng hoặc giảm dấu thời gian. Nó có thể được sử dụng với mô -đun DateTime để thêm N giờ vào DateTime. Hãy để hiểu với một ví dụ,
Thêm 3 giờ vào DateTime 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 # Add 3 hours to datetime object final_time = given_time + relativedelta[hours=n] print['Final Time [30 hours after 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 after given time ]: 2021-07-25 17:13:08.230010 Final Time as string object: 25/07/2021 17:13:08.230010
Chúng tôi đã thêm 2 giờ vào dấu thời gian24/7/2021 11: 13: 08.230010 ′ để làm cho nó2424/07/2021 13: 13: 08.230010.
Summary:
Khi chúng tôi thêm một thời gian [thời lượng 2 giờ] vào đối tượng DateTime, do đó, nó đã trả về một đối tượng DateTime mới chỉ vào dấu thời gian mới. Sau đó, chúng tôi đã chuyển đổi đối tượng DateTime sang định dạng chuỗi cần thiết bằng cách sử dụng DateTime.strftime []. Nếu chuỗi dấu thời gian của bạn có một số định dạng khác, thì bạn có thể thay đổi định dạng theo đó trong khi sử dụng strptime [] & strftime [].