Sử dụng lớp timedelta[]
từ mô-đun datetime
để thêm phút vào datetime, e. g. ________số 8_______. Lớp timedelta
có thể được truyền một đối số minutes
và thêm số phút đã chỉ định vào datetime
Nếu bạn chỉ có một thành phần thời gian, e. g. 09:30:13
cuộn xuống đoạn mã cuối cùng
Đảm bảo nhập datetime
và các lớp từ mô-đun datetime
Ví dụ đầu tiên tạo một đối tượng datetime
từ một chuỗi ngày giờ và thêm số phút vào đó
Phương thức trả về một đối tượng ngày giờ tương ứng với chuỗi ngày được cung cấp, được phân tích cú pháp theo định dạng
Nếu bạn có một chuỗi ngày được định dạng theo cách khác, hãy sử dụng để tra cứu các mã định dạng mà bạn nên chuyển làm đối số thứ hai cho phương thức strptime[]
Ví dụ thứ hai sử dụng lớp để tạo một đối tượng datetime
và lớp timedelta
để thêm số phút cho nó
Chúng tôi đã chuyển các giá trị cho các đối số datetime
2, datetime
3, datetime
4, datetime
5, datetime
6 và datetime
7
Ví dụ thứ ba thêm phút vào thời gian hiện tại
Phương thức trả về datetime cục bộ hiện tại
Lớp timedelta
có thể được thông qua datetime
9, result = dt + timedelta[minutes=10]
0, result = dt + timedelta[minutes=10]
1, minutes
, result = dt + timedelta[minutes=10]
3, result = dt + timedelta[minutes=10]
4 và result = dt + timedelta[minutes=10]
5 làm đối số
Tất cả các đối số là tùy chọn và mặc định là result = dt + timedelta[minutes=10]
6
Tốt nhất là chỉ sử dụng các đối số từ khóa trong lệnh gọi đến lớp timedelta
vì thứ tự của các đối số có thể gây nhầm lẫn
Chúng tôi chỉ cung cấp một giá trị cho đối số minutes
trong ví dụ
Chúng ta cần sử dụng một đối tượng datetime
vì nó sẽ tự động chuyển qua giờ, ngày, tháng và năm nếu cần thiết
Điều này sẽ không thể thực hiện được nếu chúng ta chỉ có thành phần thời gian. Ví dụ: timedelta
0 + timedelta
1 phút sẽ đưa ra một ngoại lệ
Nếu bạn chỉ cần trích xuất thời gian sau khi hoạt động, hãy gọi phương thức timedelta
2 trên đối tượng datetime
Chúng tôi đã sử dụng phương pháp này để lấy ngày giờ địa phương hiện tại
Biến timedelta
4 lưu trữ một đối tượng datetime
, đối tượng này chúng ta có thể thêm số phút bằng cách sử dụng lớp timedelta
Phương thức trả về một đối tượng thời gian có cùng giờ, phút, giây và mili giây
Nếu bạn cần định dạng thời gian là timedelta
7, hãy sử dụng một chuỗi ký tự được định dạng
Các chuỗi ký tự được định dạng [chuỗi f] cho phép chúng tôi bao gồm các biểu thức bên trong chuỗi bằng cách thêm tiền tố vào chuỗi bằng timedelta
8
Đảm bảo ngắt các biểu thức trong dấu ngoặc nhọn - timedelta
9
Các chuỗi ký tự được định dạng cũng cho phép chúng ta sử dụng các khối biểu thức trong
Nếu bạn chỉ có thành phần thời gian, hãy sử dụng phương pháp minutes
0 để kết hợp thời gian với ngày hiện tại [hoặc một số khác] và nhận đối tượng datetime
Phương thức lấy một đối số là minutes
2 và minutes
3 và trả về một đối tượng datetime
mới bằng cách kết hợp chúng
Khi chúng tôi nhận được một đối tượng datetime
, chúng tôi có thể sử dụng lớp timedelta
để thêm phút cho nó
Sử dụng phương thức timedelta
2 trên đối tượng datetime
nếu bạn chỉ cần trích xuất thời gian sau thao tác
Trong bài viết này, chúng ta sẽ thảo luận về ba cách khác nhau để thêm số phút vào dấu thời gian nhất định trong python. Sử dụng timedelta, pandas hoặc relativedelta
Giả sử chúng tôi có dấu thời gian ở định dạng chuỗi và chúng tôi muốn thêm N phút vào dấu thời gian đó. Ở đây N có thể là bất kỳ số nào. Nhưng điều thú vị là, chúng tôi chỉ muốn dấu thời gian cuối cùng ở định dạng chuỗi đã cho, sau khi thêm N phút vào đó. Hãy xem làm thế nào để làm điều đó,
Thêm phút vào dấu thời gian trong Python bằng timedelta
Python có một mô-đun datetime để thao tác ngày và giờ. Nó bao gồm các lớp sau, ngày, giờ, datetime, timedelta, tzinfo. Để thêm N phút vào một dấu thời gian nhất định, chúng ta sẽ sử dụng hai lớp của mô-đun ngày giờ i. e. ngày giờ và timedelta
Các bước để thêm N phút vào datetime như sau,
- Bước 1. Nếu dấu thời gian đã cho ở định dạng chuỗi, thì hãy chuyển đổi nó thành đối tượng datetime bằng cách sử dụng datetime. hàm strptime[]. Nếu không bạn có thể bỏ qua bước này
- Bước 2. Tạo một đối tượng của timedelta, để biểu thị khoảng thời gian N phút. Đối với điều đó, hãy chuyển đối số phút với giá trị N trong hàm tạo timedelta
- Bước 3. Thêm đối tượng timedelta vào đối tượng datetime đã tạo ở bước 1. Nó sẽ cung cấp cho chúng ta một đối tượng datetime mới, trỏ đến một dấu thời gian mới i. e. N phút sau dấu thời gian đã cho
- Bước 4. Nếu bạn cần dấu thời gian cuối cùng trong chuỗi, hãy sử dụng strftime[] để chuyển đổi đối tượng datetime thành chuỗi. Đối với điều đó, hãy chuyển chuỗi định dạng làm đối số cho strftime[] và nó sẽ chuyển đổi đối tượng datetime thành một chuỗi có định dạng đã chỉ định
Hãy hiểu với một ví dụ,
quảng cáo
Thêm 15 phút vào dấu thời gian trong python
from datetime import datetime from datetime import timedelta # Given timestamp in string time_str = '23/2/2020 11:12:22.234513' 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 timestamp: ', given_time] n = 15 # Add 15 minutes to datetime object final_time = given_time + timedelta[minutes=n] print['Final Time [15 minutes 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 timestamp: 2020-02-23 11:12:22.234513 Final Time [15 minutes after given time ]: 2020-02-23 11:27:22.234513 Final Time as string object: 23/02/2020 11:27:22.234513
Chúng tôi đã thêm 15 phút vào dấu thời gian ’23/2/2020 11. 12. 22. 234513′ để thành ’23/02/2020 11. 27. 22. 234513′
Nó đã thêm một timedelta [có thời lượng 15 phút] vào đối tượng datetime, vì vậy nó trả về một đối tượng datetime mới trỏ đến dấu thời gian mới. Sau đó, nó đã chuyển đổi đối tượng datetime cuối cùng sang định dạng chuỗi được yêu cầu bằng cách sử dụng datetime. strftime[]. Nếu bạn muốn chuỗi dấu thời gian cuối cùng ở một số định dạng khác, thì bạn có thể thay đổi chuỗi định dạng trong khi sử dụng strptime[] & strftime[]
Thêm phút vào dấu thời gian đã cho trong Python bằng Pandas
Pandas cung cấp một lớp DateOffset, để lưu trữ thông tin về thời lượng hoặc khoảng thời gian. 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 phút vào một datetime. Hãy hiểu với một ví dụ,
Thêm 3 phút vào ngày giờ trong python
from datetime import datetime import pandas as pd # Given timestamp in string time_str = '23/2/2020 11:12:22.234513' 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 timestamp: ', given_time] n = 3 # Add 3 minutes to datetime object final_time = given_time + pd.DateOffset[minutes=n] print['Final Time [3 minutes 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 timestamp: 2020-02-23 11:12:22.234513 Final Time [3 minutes after given time ]: 2020-02-23 11:15:22.234513 Final Time as string object: 23/02/2020 11:15:22.234513
Chúng tôi đã tạo một đối tượng DateOffset bằng cách chuyển đối số phút là 3. Sau đó thêm nó vào đối tượng datetime. Nó trả về một đối tượng thời gian mới trỏ đến một dấu thời gian khác tôi. e. sau 3 phút kể từ dấu thời gian nhất định
Thêm phút vào dấu thời gian đã cho trong python bằng relativedelta
Trong mô-đun dateutil của python, có một lớp relativedelta đại diện cho một khoảng thời gian. Lớp relativedelta này có tất cả các thuộc tính để biểu diễn khoảng thời gian tôi. e. Năm, Tháng, Ngày, Giờ, Phút, Giây và Micro giây
Vì vậy, để thêm số phút vào một dấu thời gian nhất định, chúng ta có thể tạo một đối tượng relativedelta để biểu thị khoảng thời gian tính bằng phút và sau đó thêm nó vào đối tượng datetime chứa ngày tháng. Hãy hiểu với một ví dụ,
Thêm 30 phút vào dấu thời gian trong python
from datetime import datetime from dateutil.relativedelta import relativedelta # Given timestamp in string time_str = '23/2/2020 11:12:22.234513' 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 timestamp: ', given_time] n = 30 # Add 30 minutes to datetime object final_time = given_time + relativedelta[minutes=n] print['Final Time [30 minutes 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 timestamp: 2020-02-23 11:12:22.234513 Final Time [30 minutes after given time ]: 2020-02-23 11:42:22.234513 Final Time as string object: 23/02/2020 11:42:22.234513
Vì dấu thời gian đã cho ở định dạng chuỗi, vì vậy chúng tôi đã chuyển đổi nó thành datetime. Sau đó, chúng tôi đã tạo một đối tượng relativedelta đại diện cho 30 phút bằng cách chuyển đối số phút là 30. Sau đó, chúng tôi đã thêm nó vào đối tượng datetime. Nó trả về một đối tượng datetime trỏ đến dấu thời gian mới i. e. ba mươi phút sau dấu thời gian nhất định