Khi sử dụng Python, tất cả chúng ta đều có khoảnh khắc cố gắng tìm ra cách để thao túng ngày và giờ.
Đây là một bảng gian lận mà tôi đã tạo bao gồm các chức năng liên quan đến DateTime được sử dụng phổ biến nhất trong Python. Nếu bạn muốn một cái gì đó đơn giản nhưng thực tế với các ví dụ, hãy xem!
Chúng tôi sẽ bao gồm tất cả 7 chủ đề phổ biến dưới đây:
- Ngày hôm nay ngày và giờ ở các định dạng khác nhau
- Chuỗi chuyển đổi ngày
- Sự khác biệt trong tính toán DateTime
- DateTime Plus/trừ một thời gian cụ thể
- So sánh DateTime
- Cài đặt múi giờ
- Tính toán thời gian / thời gian của UNIX
Ngày hôm nay ngày và giờ ở các định dạng khác nhau
Chuỗi chuyển đổi ngày
In: from datetime import datetime d = datetime.now[] #today's datetime d Out:datetime.datetime[2019, 12, 22, 13, 14, 18, 193898]
Sự khác biệt trong tính toán DateTime
In: print[d.weekday[]] #day of week - Monday is 0 and Sunday is 6 print[d.year] print[d.month] print[d.day] print[d.hour] print[d.minute] print[d.second] Out: 6 2019 12 22 13 14 18
DateTime Plus/trừ một thời gian cụ thể
In: print[d.strftime["%A %d/%m/%Y"]] # date to string Out: Sunday 22/12/2019
Chuỗi chuyển đổi ngày
Sự khác biệt trong tính toán DateTime
In: date_string = '2016-02-01 12:00PM' print[datetime.strptime[date_string, '%Y-%m-%d %I:%M%p']] Out: 2016-02-01 12:00:00 In: date_string = '02/01/2016' d2 = datetime.strptime[date_string, '%m/%d/%Y'] print[d2] Out: 2016-02-01 00:00:00
Sự khác biệt trong tính toán DateTime
DateTime Plus/trừ một thời gian cụ thể
In: from datetime import timedelta d = datetime.now[] date_string = '2/01/2016' d2 = datetime.strptime[date_string, '%m/%d/%Y'] print[d - d2] Out: 1420 days, 13:18:27.386763
So sánh DateTime
In: date_diff = [d - d2]/timedelta[days=1] print['date_diff = {} days'.format[date_diff]] Out: date_diff = 1420.5544836430902 days In: date_diff = [d - d2]/timedelta[weeks=1] print['date_diff = {} weeks'.format[date_diff]] Out: date_diff = 202.93635480615575 weeks In: date_diff = [d - d2]/timedelta[days=365] print['date_diff = {} years'.format[date_diff]] Out: date_diff = 3.8919300921728497 years
DateTime Plus/trừ một thời gian cụ thể
So sánh DateTime
In: print[d + timedelta[seconds=1]] # today + one second print[d + timedelta[minutes=1]] # today + one minute print[d + timedelta[hours=1]] # today + one hour print[d + timedelta[days=1]] # today + one day print[d + timedelta[weeks=1]] # today + one week print[d + timedelta[days=1]*365] # today + one year Out: 2019-12-22 13:18:28.386763 2019-12-22 13:19:27.386763 2019-12-22 14:18:27.386763 2019-12-23 13:18:27.386763 2019-12-29 13:18:27.386763 2020-12-21 13:18:27.386763
So sánh DateTime
Cài đặt múi giờ
In: print[d < [d2 +[timedelta[days=365*6]]]] # d is no more than 6 years [assume each year has 365 days] after d2? print[d > [d2 +[timedelta[weeks=52*6]]]] # d is more than 6 years [assume each year has 52 weeks] after d2? print[d != d2] # d2 is not the same date as d? print[d == d2] # d2 is the same date as d? Out: True False True False
Cài đặt múi giờ
Tính toán thời gian / thời gian của UNIX
In: import pytz timezone = pytz.timezone["America/Toronto"] dtz = timezone.localize[d] print[dtz.tzinfo] print[dtz] Out: America/Toronto 2019-12-22 13:18:27.386763-05:00 In: shanghai_dt = dtz.astimezone[pytz.timezone["Asia/Shanghai"]] print[shanghai_dt] Out: 2019-12-23 02:18:27.386763+08:00 In: [dtz - shanghai_dt]/timedelta[days=1] # same datetimes Out: 0.0
Hãy để khởi động từ cơ bản nhất. Dưới đây là mã in năm, tháng, ngày, giờ, phút, giây, giây và mili giây hiện tại.
In: for tz in pytz.all_timezones: print[tz] Out: Africa/Abidjan Africa/Accra Africa/Addis_Ababa [Only showing the first three as examples]
Tính toán thời gian / thời gian của UNIX
Hãy để khởi động từ cơ bản nhất. Dưới đây là mã in năm, tháng, ngày, giờ, phút, giây, giây và mili giây hiện tại.
Đây là thông tin tiện dụng, nhưng thường thì chúng ta chỉ cần một phần của nó. Chúng ta có thể in các phần khác nhau dưới đây.
In: print[d.weekday[]] #day of week - Monday is 0 and Sunday is 6 print[d.year] print[d.month] print[d.day] print[d.hour] print[d.minute] print[d.second] Out: 6 2019 12 22 13 14 180
Hơn nữa, các định dạng cụ thể của ngày/giờ có thể cần thiết. Chúng tôi có thể sử dụng danh sách dưới đây để tùy chỉnh các định dạng ngày khác nhau. Điều này cũng có thể được coi là một cách chuyển đổi ngày thành chuỗi. Danh sách đầy đủ có thể được tìm thấy ở đây.
In: print[d.weekday[]] #day of week - Monday is 0 and Sunday is 6 print[d.year] print[d.month] print[d.day] print[d.hour] print[d.minute] print[d.second] Out: 6 2019 12 22 13 14 181