Hướng dẫn how does python handle date and time? - python xử lý ngày và giờ như thế nào?

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Sử dụng mô -đun DateTime của Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Using Python's datetime Module

Show

Làm việc với ngày và thời gian là một trong những thách thức lớn nhất trong lập trình. Giữa việc xử lý các múi giờ, thời gian tiết kiệm ánh sáng ban ngày và các định dạng ngày viết khác nhau, có thể rất khó để theo dõi ngày và thời gian mà bạn tham khảo. May mắn thay, mô-đun Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 tích hợp có thể giúp bạn quản lý bản chất phức tạp của ngày và thời gian.
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4
module can help you manage the complex nature of dates and times.

Trong hướng dẫn này, bạn sẽ học:

  • Tại sao lập trình với ngày và thời gian là một thách thức như vậydates and times is such a challenge
  • Chức năng nào có sẵn trong mô -đun Python
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4Python
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4
    module
  • Cách in hoặc đọc ngày và giờ ở một định dạng cụ thểprint or read a date and time in a specific format
  • Cách làm số học với ngày và thời gianarithmetic with dates and times

Thêm vào đó, bạn sẽ phát triển một ứng dụng gọn gàng để đếm ngược thời gian còn lại cho đến khi chúng tôi tiếp theo!

Bắt đầu nào!

Lập trình với ngày và thời gian

Nếu bạn đã từng làm việc trên các phần mềm cần theo dõi thời gian trên một số khu vực địa lý, thì bạn có thể có cảm giác tại sao lập trình theo thời gian có thể là một nỗi đau như vậy. Ngắt kết nối cơ bản là các chương trình máy tính thích các sự kiện được đặt hàng hoàn hảo và thường xuyên, nhưng cách mà hầu hết con người sử dụng và đề cập đến thời gian là rất bất thường.

Một ví dụ tuyệt vời về sự bất thường này là thời gian tiết kiệm ánh sáng ban ngày. Tại Hoa Kỳ và Canada, đồng hồ được thiết lập sau một giờ vào Chủ nhật thứ hai vào tháng 3 và trở lại sau một giờ vào Chủ nhật đầu tiên vào tháng 11. Tuy nhiên, đây chỉ là trường hợp kể từ năm 2007. Trước năm 2007, đồng hồ đã được thiết lập vào Chủ nhật đầu tiên vào tháng Tư và trở lại vào Chủ nhật tuần trước vào tháng Mười.daylight saving time. In the United States and Canada, clocks are set forward by one hour on the second Sunday in March and set back by one hour on the first Sunday in November. However, this has only been the case since 2007. Prior to 2007, clocks were set forward on the first Sunday in April and set back on the last Sunday in October.

Mọi thứ thậm chí còn phức tạp hơn khi bạn xem xét múi giờ. Lý tưởng nhất, ranh giới múi giờ sẽ theo các đường kinh độ chính xác. Tuy nhiên, vì lý do lịch sử và chính trị, các dòng múi giờ hiếm khi thẳng thắn. Thông thường, các khu vực được phân tách bởi khoảng cách lớn thấy mình trong cùng múi giờ và các khu vực liền kề nằm trong các múi giờ khác nhau. Có một số múi giờ ngoài kia với những hình dạng khá thú vị.time zones. Ideally, time zone boundaries would follow lines of longitude exactly. However, for historical and political reasons, time zone lines are rarely straight. Often, areas that are separated by large distances find themselves in the same time zone, and adjacent areas are in different time zones. There are some time zones out there with pretty funky shapes.

Cách tính thời gian của máy tính

Gần như tất cả các máy tính đều đếm thời gian từ một thời điểm được gọi là Epoch Unix. Điều này xảy ra vào ngày 1 tháng 1 năm 1970, lúc 00:00:00 UTC. UTC là viết tắt của thời gian phối hợp phổ quát và đề cập đến thời gian ở kinh độ 0 °. UTC thường được gọi là thời gian trung bình của Greenwich, hoặc GMT. UTC không được điều chỉnh cho thời gian tiết kiệm ánh sáng ban ngày, vì vậy nó luôn giữ hai mươi bốn giờ mỗi ngày.Unix epoch. This occurred on January 1, 1970, at 00:00:00 UTC. UTC stands for Coordinated Universal Time and refers to the time at a longitude of 0°. UTC is often also called Greenwich Mean Time, or GMT. UTC is not adjusted for daylight saving time, so it consistently keeps twenty-four hours in every day.

Theo định nghĩa, thời gian UNIX trôi qua với tốc độ tương đương với UTC, do đó, bước một giây trong UTC tương ứng với bước một giây trong thời gian UNIX. Bạn thường có thể tìm ra ngày và giờ ở UTC của bất kỳ tức thời nào kể từ ngày 1 tháng 1 năm 1970, bằng cách đếm số giây kể từ thời đại Unix, ngoại trừ những giây nhảy. Bước nhảy vọt đôi khi được thêm vào UTC để giải thích cho sự chậm lại của vòng quay Trái đất nhưng không được thêm vào thời gian UNIX.leap seconds. Leap seconds are occasionally added to UTC to account for the slowing of the Earth’s rotation but are not added to Unix time.

Gần như tất cả các ngôn ngữ lập trình, bao gồm Python, kết hợp khái niệm về thời gian Unix. Thư viện tiêu chuẩn Python sườn bao gồm một mô -đun có tên

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
6 có thể in số giây kể từ thời đại unix:

>>>

>>> import time
>>> time.time()
1579718137.550164

Trong ví dụ này, bạn nhập mô -đun

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
6 và thực thi
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
8 để in thời gian Unix hoặc số giây (không bao gồm các giây nhảy) kể từ thời đại.

Ngoài thời gian UNIX, máy tính cần một cách để truyền tải thông tin thời gian cho người dùng. Như bạn đã thấy trong ví dụ cuối cùng, thời gian Unix gần như không thể phân tích được. Thay vào đó, thời gian UNIX thường được chuyển đổi thành UTC, sau đó có thể được chuyển đổi thành thời gian cục bộ bằng cách sử dụng độ lệch múi giờ.time zone offsets.

Internet được chỉ định các số cơ quan (IANA) duy trì một cơ sở dữ liệu của tất cả các giá trị của độ lệch múi giờ. IANA cũng phát hành các bản cập nhật thường xuyên bao gồm bất kỳ thay đổi nào trong độ lệch múi giờ. Cơ sở dữ liệu này thường được bao gồm trong hệ điều hành của bạn, mặc dù một số ứng dụng có thể bao gồm một bản sao cập nhật.Internet Assigned Numbers Authority (IANA) maintains a database of all of the values of time zone offsets. IANA also releases regular updates that include any changes in time zone offsets. This database is often included with your operating system, although certain applications may include an updated copy.

Cơ sở dữ liệu chứa một bản sao của tất cả các múi giờ được chỉ định và số giờ và phút họ bù đắp từ UTC. Vì vậy, trong mùa đông, khi thời gian tiết kiệm ánh sáng ban ngày không có hiệu lực, múi giờ phía đông của Hoa Kỳ có phần bù -05: 00 hoặc năm giờ âm từ UTC. Các khu vực khác có độ lệch khác nhau, có thể không phải là giờ nguyên. Ví dụ, độ bù của UTC cho Nepal là +05: 45 hoặc năm giờ tích cực và bốn mươi lăm phút từ UTC.

Làm thế nào các ngày tiêu chuẩn có thể được báo cáo

Thời gian Unix là cách tính thời gian của máy tính, nhưng sẽ không hiệu quả đến mức không hiệu quả khi xác định thời gian bằng cách tính số giây từ một ngày tùy ý. Thay vào đó, chúng tôi làm việc về các năm, tháng, ngày, v.v. Nhưng ngay cả với các quy ước này, một lớp phức tạp khác bắt nguồn từ thực tế là các ngôn ngữ và văn hóa khác nhau có cách viết ngày khác nhau.

Ví dụ, ở Hoa Kỳ, ngày thường được viết bắt đầu với tháng, sau đó là ngày, sau đó là năm. Điều này có nghĩa là ngày 31 tháng 1 năm 2020, được viết là 01-31-2020. Điều này phù hợp với phiên bản viết dài của ngày.01-31-2020. This closely matches the long-form written version of the date.

Tuy nhiên, hầu hết châu Âu và nhiều khu vực khác viết ngày bắt đầu từ ngày, sau đó là tháng, sau đó là năm. Điều này có nghĩa là ngày 31 tháng 1 năm 2020, được viết là 31-01-2020. Những khác biệt này có thể gây ra tất cả các loại nhầm lẫn khi giao tiếp giữa các nền văn hóa.31-01-2020. These differences can cause all sorts of confusion when communicating across cultures.

Để giúp tránh các sai lầm truyền thông, Tổ chức Tiêu chuẩn hóa Quốc tế (ISO) đã phát triển ISO 8601. Tiêu chuẩn này chỉ định rằng tất cả các ngày nên được viết theo thứ tự dữ liệu có ý nghĩa nhất. Điều này có nghĩa là định dạng là năm, tháng, ngày, giờ, phút và thứ hai:ISO 8601. This standard specifies that all dates should be written in order of most-to-least-significant data. This means the format is year, month, day, hour, minute, and second:

Trong ví dụ này,

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
9 đại diện cho một năm bốn chữ số và
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
0 và
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
1 là hai tháng và ngày, bắt đầu bằng số 0 nếu cần thiết. Sau đó,
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
2,
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
0 và
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
4 đại diện cho hai giờ, phút và giây, bắt đầu bằng số 0 nếu cần thiết.

Ưu điểm của định dạng này là ngày có thể được biểu diễn không có sự mơ hồ. Ngày được viết là

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
5 hoặc
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
6 có thể bị hiểu sai nếu ngày là số tháng hợp lệ. Bạn sẽ thấy một chút sau về cách bạn có thể sử dụng định dạng ISO 8601 với Python
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4.

Cách lưu trữ thời gian trong chương trình của bạn

Hầu hết các nhà phát triển đã làm việc theo thời gian đã nghe lời khuyên để chuyển đổi thời gian địa phương sang UTC và lưu trữ giá trị đó để tham khảo sau này. Trong nhiều trường hợp, đặc biệt là khi bạn lưu trữ ngày từ quá khứ, đây là thông tin đủ để thực hiện bất kỳ số học cần thiết nào.

Tuy nhiên, một vấn đề có thể xảy ra nếu người dùng chương trình của bạn nhập vào một ngày trong tương lai trong thời gian địa phương của họ. Múi giờ và quy tắc thời gian tiết kiệm ánh sáng ban ngày thay đổi khá thường xuyên, như bạn đã thấy trước đó với sự thay đổi năm 2007 về thời gian tiết kiệm ánh sáng ban ngày cho Hoa Kỳ và Canada. Nếu quy tắc múi giờ cho vị trí người dùng của bạn thay đổi trước ngày trong tương lai mà họ nhập, thì UTC sẽ giành được đủ thông tin để chuyển đổi trở lại đúng giờ địa phương.

Trong trường hợp này, bạn cần lưu trữ thời gian địa phương, bao gồm múi giờ, mà người dùng nhập cũng như phiên bản của cơ sở dữ liệu múi giờ IANA có hiệu lực khi người dùng lưu thời gian. Bằng cách này, bạn sẽ luôn có thể chuyển đổi thời gian địa phương sang UTC. Tuy nhiên, cách tiếp cận này đã giành chiến thắng luôn cho phép bạn chuyển đổi UTC sang đúng giờ địa phương.

Sử dụng mô -đun Python >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 4

Như bạn có thể thấy, làm việc với ngày và thời gian trong lập trình có thể phức tạp. May mắn thay, bạn hiếm khi cần thực hiện các tính năng phức tạp từ đầu ngày nay vì nhiều thư viện nguồn mở có sẵn để giúp đỡ. Đây chắc chắn là trường hợp trong Python, bao gồm ba mô -đun riêng biệt trong thư viện tiêu chuẩn để làm việc với ngày và thời gian:

  1. >>> from datetime import date
    >>> date.fromisoformat("2020-01-31")
    datetime.date(2020, 1, 31)
    
    9 Lịch đầu ra và cung cấp các chức năng bằng lịch Gregorian lý tưởng hóa.
    outputs calendars and provides functions using an idealized Gregorian calendar.
  2. >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 Cung cấp các lớp học để thao tác ngày và thời gian.
    supplies classes for manipulating dates and times.
  3. >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    6 cung cấp các chức năng liên quan đến thời gian nơi không cần ngày.
    provides time-related functions where dates are not needed.

Trong hướng dẫn này, bạn sẽ tập trung vào việc sử dụng mô -đun Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Trọng tâm chính của
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 là làm cho nó bớt phức tạp hơn khi truy cập các thuộc tính của đối tượng liên quan đến ngày, thời gian và múi giờ. Vì các đối tượng này rất hữu ích,
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
9 cũng trả về các phiên bản của các lớp từ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4.
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4
module. The main focus of
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 is to make it less complicated to access attributes of the object related to dates, times, and time zones. Since these objects are so useful,
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
9 also returns instances of classes from
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4.

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
6 ít mạnh mẽ và phức tạp hơn để sử dụng so với
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Nhiều chức năng trong
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
6 trả về một ví dụ
 1>>> date_string = "01-31-2020 14:45:37"
 2>>> format_string = "%m-%d-%Y %H:%M:%S"
9 đặc biệt. Đối tượng này có giao diện Tuple được đặt tên để truy cập dữ liệu được lưu trữ, làm cho nó tương tự như một thể hiện là
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Tuy nhiên, nó không hỗ trợ tất cả các tính năng của
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4, đặc biệt là khả năng thực hiện số học với các giá trị thời gian.
 1>>> date_string = "01-31-2020 14:45:37"
 2>>> format_string = "%m-%d-%Y %H:%M:%S"
9
instance. This object has a named tuple interface for accessing stored data, making it similar to an instance of
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. However, it doesn’t support all of the features of
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4, especially the ability to perform arithmetic with time values.

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cung cấp ba lớp tạo nên giao diện cấp cao mà hầu hết mọi người sẽ sử dụng:

  1.  3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    3 là một ngày lý tưởng hóa giả định lịch Gregorian mở rộng vô hạn vào tương lai và quá khứ. Đối tượng này lưu trữ
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    4,
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    5 và
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    6 dưới dạng thuộc tính.
    is an idealized date that assumes the Gregorian calendar extends infinitely into the future and past. This object stores the
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    4,
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    5, and
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    6 as attributes.
  2.  3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    7 là một thời gian lý tưởng hóa giả định rằng có 86.400 giây mỗi ngày mà không có giây nhảy. Đối tượng này lưu trữ
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    8,
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    9,
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    0,
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    1 và
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    2 (thông tin múi giờ).
    is an idealized time that assumes there are 86,400 seconds per day with no leap seconds. This object stores the
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    8,
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    9,
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    0,
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    1, and
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    2 (time zone information).
  3. # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    3 là sự kết hợp của
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    4 và
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    6. Nó có tất cả các thuộc tính của cả hai lớp.
    is a combination of a
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    4 and a
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    6. It has all the attributes of both classes.

Tạo các trường hợp Python >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 4

Ba lớp đại diện cho ngày và thời gian trong

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 có bộ khởi tạo tương tự. Chúng có thể được khởi tạo bằng cách truyền các đối số từ khóa cho từng thuộc tính, chẳng hạn như
 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)
4,
# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
4 hoặc
 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)
8. Bạn có thể thử mã bên dưới để hiểu cách tạo mỗi đối tượng:initializers. They can be instantiated by passing keyword arguments for each of the attributes, such as
 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)
4,
# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
4, or
 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)
8. You can try the code below to get a sense of how each object is created:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)

Trong mã này, bạn nhập ba lớp chính từ

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 và khởi tạo từng lớp bằng cách chuyển các đối số cho hàm tạo. Bạn có thể thấy rằng mã này có phần dài dòng và nếu bạn không có thông tin bạn cần làm số nguyên, các kỹ thuật này có thể được sử dụng để tạo các trường hợp ____24.instantiate each of them by passing arguments to the constructor. You can see that this code is somewhat verbose, and if you don’t have the information you need as integers, these techniques can’t be used to create
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 instances.

May mắn thay,

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cung cấp một số cách thuận tiện khác để tạo các trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Các phương pháp này don lồng yêu cầu bạn sử dụng số nguyên để chỉ định từng thuộc tính, nhưng thay vào đó cho phép bạn sử dụng một số thông tin khác:

  1. Countdown to PyCon US 2021: 397 days, 10:35:32.139350
    
    5 tạo ra một thể hiện
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    3 với ngày địa phương hiện tại.
    creates a
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    3 instance with the current local date.
  2. Countdown to PyCon US 2021: 397 days, 10:35:32.139350
    
    7 tạo ra một thể hiện
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    3 với ngày và giờ địa phương hiện tại.
    creates a
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    3 instance with the current local date and time.
  3. Countdown to PyCon US 2021: 397 days, 10:35:32.139350
    
    9 kết hợp các trường hợp của
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    3 và
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    7 thành một ví dụ
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    3 duy nhất.
    combines instances of
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    3 and
     3>>> from datetime import datetime
     4>>> datetime.strptime(date_string, format_string)
     5datetime.datetime(2020, 1, 31, 14, 45, 37)
    
    7 into a single
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    3 instance.

Ba cách tạo ra các trường hợp

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 này rất hữu ích khi bạn không biết trước những thông tin bạn cần truyền vào các bộ khởi tạo cơ bản. Bạn có thể thử mã này để xem cách khởi tạo thay thế hoạt động:

>>>

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)

Trong mã này, bạn sử dụng

Countdown to PyCon US 2021: 397 days, 10:35:32.139350
5,
Countdown to PyCon US 2021: 397 days, 10:35:32.139350
7 và
Countdown to PyCon US 2021: 397 days, 10:35:32.139350
9 để tạo các trường hợp của các đối tượng
# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
4,
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
6. Mỗi trường hợp được lưu trữ trong một biến khác nhau:

  1. >>> from dateutil import tz
    >>> from datetime import datetime
    >>> now = datetime.now(tz=tz.tzlocal())
    >>> now
    datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
    >>> now.tzname()
    'Eastern Standard Time'
    
    0 là một ví dụ
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    4 chỉ có năm, tháng và ngày.
    is a
    # pyconcd.py
    
    from datetime import datetime
    
    PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
    countdown = PYCON_DATE - datetime.now()
    print(f"Countdown to PyCon US 2021: {countdown}")
    
    4 instance that has only the year, month, and day.
  2. >>> from dateutil import tz
    >>> from datetime import datetime
    >>> now = datetime.now(tz=tz.tzlocal())
    >>> now
    datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
    >>> now.tzname()
    'Eastern Standard Time'
    
    2 là một ví dụ
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 có năm, tháng, ngày, giờ, phút, thứ hai và micro giây.
    is a
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 instance that has the year, month, day, hour, minute, second, and microseconds.
  3. >>> from dateutil import tz
    >>> from datetime import datetime
    >>> now = datetime.now(tz=tz.tzlocal())
    >>> now
    datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
    >>> now.tzname()
    'Eastern Standard Time'
    
    4 là một ví dụ
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    6 có giờ, phút và thứ hai được đặt thành các giá trị giống như
    >>> from dateutil import tz
    >>> from datetime import datetime
    >>> now = datetime.now(tz=tz.tzlocal())
    >>> now
    datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
    >>> now.tzname()
    'Eastern Standard Time'
    
    2.
    is a
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    6 instance that has the hour, minute, and second set to the same values as
    >>> from dateutil import tz
    >>> from datetime import datetime
    >>> now = datetime.now(tz=tz.tzlocal())
    >>> now
    datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
    >>> now.tzname()
    'Eastern Standard Time'
    
    2.

Trên dòng cuối cùng, bạn kết hợp thông tin ngày trong

>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
0 với thông tin thời gian trong
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
4 để tạo phiên bản
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 mới.

Sử dụng các chuỗi để tạo các phiên bản Python >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 4

Một cách khác để tạo các trường hợp

# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
4 là sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
02. Để sử dụng phương pháp này, bạn cung cấp một chuỗi với ngày ở định dạng ISO 8601 mà bạn đã học trước đó. Chẳng hạn, bạn có thể cung cấp một chuỗi với năm, tháng và ngày được chỉ định:

Chuỗi này đại diện cho ngày 31 tháng 1 năm 2020, theo định dạng ISO 8601. Bạn có thể tạo một thể hiện

# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
4 với ví dụ sau:

>>>

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)

Trong mã này, bạn sử dụng

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
04 để tạo phiên bản
# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
4 cho ngày 31 tháng 1 năm 2020. Phương pháp này rất hữu ích vì nó dựa trên tiêu chuẩn ISO 8601. Nhưng điều gì sẽ xảy ra nếu bạn có một chuỗi đại diện cho một ngày và giờ nhưng isn ở định dạng ISO 8601?

May mắn thay, Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cung cấp một phương pháp gọi là
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07 để xử lý tình huống này. Phương pháp này sử dụng ngôn ngữ nhỏ đặc biệt để cho Python biết phần nào của chuỗi được liên kết với các thuộc tính
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4.mini-language to tell Python which parts of the string are associated with the
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 attributes.

Để xây dựng một

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 từ một chuỗi bằng cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07, bạn phải nói Python những gì mỗi phần của chuỗi đại diện cho các mã định dạng từ ngôn ngữ nhỏ. Bạn có thể thử ví dụ này để xem cách
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07 hoạt động:

>>>

 1>>> date_string = "01-31-2020 14:45:37"
 2>>> format_string = "%m-%d-%Y %H:%M:%S"

Trên dòng 1, bạn tạo

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12, đại diện cho ngày và giờ ngày 31 tháng 1 năm 2020, lúc 2:45:37 tối. Trên dòng 2, bạn tạo
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
13, sử dụng ngôn ngữ nhỏ để chỉ định cách các phần của
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12 sẽ được biến thành các thuộc tính
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4.line 1, you create
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12, which represents the date and time January 31, 2020, at 2:45:37 PM. On line 2, you create
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
13, which uses the mini-language to specify how the parts of
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12 will be turned into
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 attributes.

Trong

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
13, bạn bao gồm một số mã định dạng và tất cả các dấu gạch ngang (
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
17), đại phân (
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
18) và không gian chính xác khi chúng xuất hiện trong
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12. Để xử lý ngày và giờ trong
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12, bạn bao gồm các mã định dạng sau:

Thành phầnMã sốGiá trị
Năm (như số nguyên bốn chữ số)
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
21
2020
Tháng (dưới dạng số thập phân không)
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
22
01
Ngày (dưới dạng số thập phân không)
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
23
31
Giờ (như số thập phân bằng không với đồng hồ 24 giờ)
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
24
14
Phút (như số thập phân bằng không)
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
25
45
Thứ hai (như số thập phân bằng không)
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
26
37

Một danh sách đầy đủ tất cả các tùy chọn trong ngôn ngữ nhỏ nằm ngoài phạm vi của hướng dẫn này, nhưng bạn có thể tìm thấy một số tài liệu tham khảo tốt trên web, bao gồm trong tài liệu Python, và trên một trang web có tên strftime.org.

Bây giờ

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12 và
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
13 đã được xác định, bạn có thể sử dụng chúng để tạo một thể hiện
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Ở đây, một ví dụ về cách
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07 hoạt động:

>>>

 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)

Trong mã này, bạn nhập

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 trên dòng 3 và sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
32 với
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12 và
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
13 trên dòng 4. Cuối cùng, dòng 5 hiển thị các giá trị của các thuộc tính trong phiên bản
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 được tạo bởi
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07. Bạn có thể thấy rằng chúng phù hợp với các giá trị được hiển thị trong bảng trên.line 3 and use
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
32 with
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
12 and
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
13 on line 4. Finally, line 5 shows the values of the attributes in the
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 instance created by
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07. You can see that they match the values shown in the table above.

Bắt đầu đếm ngược pycon của bạn

Bây giờ bạn có đủ thông tin để bắt đầu làm việc trên đồng hồ đếm ngược cho năm tới, Py Pycon US! Pycon US 2021 sẽ bắt đầu vào ngày 12 tháng 5 năm 2021 tại Pittsburgh, PA. Với sự kiện năm 2020 đã bị hủy bỏ, nhiều Pythonistas đã rất phấn khích cho cuộc họp mặt vào năm tới. Đây là một cách tuyệt vời để theo dõi thời gian bạn cần phải chờ đợi và tăng cường các kỹ năng

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 của bạn cùng một lúc!

Để bắt đầu, hãy tạo một tệp có tên

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
38 và thêm mã này:

# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")

Trong mã này, bạn nhập

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 từ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 và xác định hằng số,
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41, lưu trữ ngày của pycon tiếp theo chúng tôi. Bạn không mong đợi ngày Pycon sẽ thay đổi, vì vậy bạn đặt tên cho biến trong tất cả các mũ để chỉ ra rằng nó là một hằng số.

Tiếp theo, bạn tính toán sự khác biệt giữa

Countdown to PyCon US 2021: 397 days, 10:35:32.139350
7, đó là thời gian hiện tại và
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41. Lấy sự khác biệt giữa hai trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 trả về một ví dụ
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
45.

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 Các trường hợp thể hiện sự thay đổi về thời gian giữa hai trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Delta trong tên là một tham chiếu đến đồng bằng chữ Hy Lạp, được sử dụng trong khoa học và kỹ thuật để có nghĩa là một sự thay đổi. Bạn sẽ tìm hiểu thêm sau này về cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 cho các hoạt động số học tổng quát hơn.delta in the name is a reference to the Greek letter delta, which is used in science and engineering to mean a change. You’ll learn more later about how to use
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 for more general arithmetic operations.

Cuối cùng, sản lượng in, tính đến ngày 9 tháng 4 năm 2020 vào lúc 9:30 tối là:

Countdown to PyCon US 2021: 397 days, 10:35:32.139350

Chỉ 397 ngày cho đến khi Pycon US 2021! Đầu ra này là một chút cồng kềnh, vì vậy sau này bạn sẽ thấy cách bạn có thể cải thiện định dạng. Nếu bạn chạy tập lệnh này vào một ngày khác, bạn sẽ nhận được một đầu ra khác. Nếu bạn chạy kịch bản sau ngày 12 tháng 5 năm 2021 lúc 8:00 sáng, bạn sẽ nhận được một lượng thời gian âm còn lại!

Làm việc với múi giờ

Như bạn đã thấy trước đó, lưu trữ múi giờ trong đó một ngày xảy ra là một khía cạnh quan trọng để đảm bảo mã của bạn là chính xác. Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cung cấp
# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
2, đây là một lớp cơ sở trừu tượng cho phép
# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
3 và
 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)
7 bao gồm thông tin múi giờ, bao gồm cả ý tưởng về thời gian tiết kiệm ánh sáng ban ngày.

Tuy nhiên,

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 không cung cấp một cách trực tiếp để tương tác với cơ sở dữ liệu múi giờ IANA. Tài liệu Python
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
54 khuyến nghị sử dụng gói bên thứ ba có tên
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55. Bạn có thể cài đặt
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 với
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
57:

$ python -m pip install python-dateutil

Lưu ý rằng tên của gói mà bạn cài đặt từ PYPI,

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
58, khác với tên mà bạn sử dụng để nhập gói, chỉ là
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55.

Sử dụng >>> from datetime import date, time, datetime >>> date(year=2020, month=1, day=31) datetime.date(2020, 1, 31) >>> time(hour=13, minute=14, second=31) datetime.time(13, 14, 31) >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31) datetime.datetime(2020, 1, 31, 13, 14, 31) 55 để thêm múi giờ vào Python >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 4

Một lý do mà

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 rất hữu ích là nó bao gồm một giao diện cho cơ sở dữ liệu múi giờ IANA. Điều này đưa rắc rối ra khỏi việc gán các múi giờ cho các trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 của bạn. Hãy thử ví dụ này để xem cách đặt phiên bản
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 để có múi giờ địa phương của bạn:

>>>

>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'

Trong ví dụ này, bạn nhập

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 từ
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 từ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Sau đó, bạn tạo một thể hiện
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 được đặt thành thời gian hiện tại bằng cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
70.

Bạn cũng chuyển từ khóa

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 cho
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
70 và đặt
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 bằng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
74. Trong
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55,
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
74 trả về một ví dụ cụ thể là
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
54. Điều này có nghĩa là nó có thể đại diện cho tất cả các phần bù múi giờ cần thiết và thông tin thời gian tiết kiệm ánh sáng ban ngày mà
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cần.

Bạn cũng in tên của múi giờ bằng

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
79, in
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
80. Đây là đầu ra cho Windows, nhưng trên MacOS hoặc Linux, đầu ra của bạn có thể đọc
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
81 nếu bạn ở Múi giờ phía Đông Hoa Kỳ trong mùa đông.

Bạn cũng có thể tạo các múi giờ không giống như múi giờ được báo cáo bởi máy tính của bạn. Để làm điều này, bạn sẽ sử dụng

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
82 và vượt qua tên IANA chính thức cho múi giờ mà bạn quan tâm. Ở đây, một ví dụ về cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
82:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
0

Trong ví dụ này, bạn nhập

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 từ
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 từ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Sau đó, bạn tạo một thể hiện
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 được đặt thành thời gian hiện tại bằng cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
70.

Bạn cũng chuyển từ khóa

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 cho
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
70 và đặt
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 bằng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
74. Trong
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55,
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
74 trả về một ví dụ cụ thể là
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
54. Điều này có nghĩa là nó có thể đại diện cho tất cả các phần bù múi giờ cần thiết và thông tin thời gian tiết kiệm ánh sáng ban ngày mà
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cần.

Bạn cũng in tên của múi giờ bằng

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
79, in
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
80. Đây là đầu ra cho Windows, nhưng trên MacOS hoặc Linux, đầu ra của bạn có thể đọc
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
81 nếu bạn ở Múi giờ phía Đông Hoa Kỳ trong mùa đông.

Bạn cũng có thể tạo các múi giờ không giống như múi giờ được báo cáo bởi máy tính của bạn. Để làm điều này, bạn sẽ sử dụng

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
82 và vượt qua tên IANA chính thức cho múi giờ mà bạn quan tâm. Ở đây, một ví dụ về cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
82:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
1

Trong ví dụ này, bạn nhập

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 từ
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 từ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Sau đó, bạn tạo một thể hiện
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 được đặt thành thời gian hiện tại bằng cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
70.

Bạn cũng chuyển từ khóa

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 cho
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
70 và đặt
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 bằng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
74. Trong
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55,
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
74 trả về một ví dụ cụ thể là
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
54. Điều này có nghĩa là nó có thể đại diện cho tất cả các phần bù múi giờ cần thiết và thông tin thời gian tiết kiệm ánh sáng ban ngày mà
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cần.naive vs aware
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 instances. If you already know all about this, then you can skip ahead to improve your PyCon countdown with time zone information.

So sánh các trường hợp Python >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 4 ngây thơ và nhận thức

Các trường hợp Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 hỗ trợ hai loại hoạt động, ngây thơ và nhận thức. Sự khác biệt cơ bản giữa chúng là các trường hợp ngây thơ don don chứa thông tin múi giờ, trong khi các trường hợp nhận thức được. Chính thức hơn, để trích dẫn tài liệu Python:

Một đối tượng nhận thức đại diện cho một thời điểm cụ thể không mở để giải thích. Một đối tượng ngây thơ không chứa đủ thông tin để định vị rõ ràng chính nó so với các đối tượng ngày/giờ khác. (Nguồn)

Đây là một sự khác biệt quan trọng để làm việc với Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Một ví dụ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 nhận thức có thể so sánh chính nó rõ ràng với các trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 khác và sẽ luôn trả về khoảng thời gian chính xác khi được sử dụng trong các hoạt động số học.aware
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 instance can compare itself unambiguously to other aware
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 instances and will always return the correct time interval when used in arithmetic operations.

Các trường hợp ngây thơ

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4, mặt khác, có thể mơ hồ. Một ví dụ về sự mơ hồ này liên quan đến thời gian tiết kiệm ánh sáng ban ngày. Các khu vực thực hành thời gian tiết kiệm ánh sáng ban ngày biến đồng hồ về phía trước một giờ vào mùa xuân và lùi một giờ vào mùa thu. Điều này thường xảy ra lúc 2:00 sáng giờ địa phương. Vào mùa xuân, giờ từ 2:00 sáng đến 2:59 sáng không bao giờ xảy ra, và vào mùa thu, giờ từ 1:00 sáng đến 1:59 sáng xảy ra hai lần!
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 instances, on the other hand, may be ambiguous. One example of this ambiguity relates to daylight saving time. Areas that practice daylight saving time turn the clocks forward one hour in the spring and backward one hour in the fall. This typically happens at 2:00 AM local time. In the spring, the hour from 2:00 AM to 2:59 AM never happens, and in the fall, the hour from 1:00 AM to 1:59 AM happens twice!

Trên thực tế, những gì xảy ra là phần bù từ UTC trong các múi giờ này thay đổi trong suốt cả năm. IANA theo dõi các thay đổi này và danh mục chúng trong các tệp cơ sở dữ liệu khác nhau mà máy tính của bạn đã cài đặt. Sử dụng một thư viện như

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55, sử dụng cơ sở dữ liệu IANA dưới mui xe, là một cách tuyệt vời để đảm bảo rằng mã của bạn xử lý đúng số học theo thời gian.

Điều này không có nghĩa là bạn luôn cần phải sử dụng các trường hợp Aware ____24. Nhưng các trường hợp nhận thức là rất quan trọng nếu bạn so sánh thời gian với nhau, đặc biệt là nếu bạn so sánh thời gian ở các nơi khác nhau trên thế giới.

Cải thiện đếm ngược pycon của bạn

Bây giờ bạn đã biết cách thêm thông tin múi giờ vào ví dụ Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4, bạn có thể cải thiện mã đếm ngược PyCon của mình. Trước đó, bạn đã sử dụng hàm tạo
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 tiêu chuẩn để vượt qua năm, tháng, ngày và giờ mà PyCon sẽ bắt đầu. Bạn có thể cập nhật mã của mình để sử dụng mô -đun
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
15, cung cấp giao diện tự nhiên hơn để tạo các phiên bản
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4:

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
2

Trong mã này, bạn nhập

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
17 và
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
65 từ
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 từ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Tiếp theo, bạn sử dụng
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
22 để đọc ngày của PyCon tiếp theo chúng tôi từ một chuỗi. Điều này dễ đọc hơn nhiều so với hàm tạo
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 đơn giản.

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
22 Trả về một ví dụ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 ngây thơ, vì vậy bạn sử dụng
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
26 để thay đổi
# pyconcd.py

from datetime import datetime

PYCON_DATE = datetime(year=2021, month=5, day=12, hour=8)
countdown = PYCON_DATE - datetime.now()
print(f"Countdown to PyCon US 2021: {countdown}")
2 thành múi giờ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
28. Pycon US 2021 sẽ diễn ra tại Pittsburgh, Pennsylvania, nằm trong múi giờ phía đông Hoa Kỳ. Tên kinh điển cho múi giờ đó là
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
28 vì thành phố New York là thành phố lớn nhất trong múi giờ.

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41 là một ví dụ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 nhận thức với múi giờ được đặt cho thời gian phương Đông của Hoa Kỳ. Vì ngày 12 tháng 5 là sau khi thời gian tiết kiệm ánh sáng ban ngày có hiệu lực, tên múi giờ là
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
32 hoặc
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
33.

Tiếp theo, bạn tạo

>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 để thể hiện thời gian hiện tại và cung cấp cho nó múi giờ địa phương của bạn. Cuối cùng, bạn tìm thấy
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 giữa
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41 và
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 và in kết quả. Nếu bạn ở một địa điểm không điều chỉnh đồng hồ để tiết kiệm ánh sáng ban ngày, thì bạn có thể thấy số giờ còn lại cho đến khi PyCon thay đổi thêm một giờ.

Làm số học với Python >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 4

Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 Các trường hợp hỗ trợ một số loại số học. Như bạn đã thấy trước đó, điều này phụ thuộc vào việc sử dụng các trường hợp
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 để biểu diễn các khoảng thời gian.
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 rất hữu ích vì nó được tích hợp vào thư viện tiêu chuẩn Python. Ở đây, một ví dụ về cách làm việc với
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
3

Trong mã này, bạn tạo

>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2, lưu trữ thời gian hiện tại và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
44, đây là
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 của
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
46 ngày. Tiếp theo, bạn thêm
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
44 để tạo ra một ví dụ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 một ngày trong tương lai. Lưu ý rằng làm việc với các trường hợp ngây thơ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4, như bạn đang ở đây, có nghĩa là thuộc tính
 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)
6 của số tăng
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 bởi một và không tính đến bất kỳ khoảng thời gian lặp đi lặp lại hoặc bỏ qua.

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 Các trường hợp cũng hỗ trợ các giá trị âm làm đầu vào cho các đối số:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
4

Trong mã này, bạn tạo

>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2, lưu trữ thời gian hiện tại và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
44, đây là
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 của
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
46 ngày. Tiếp theo, bạn thêm
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
44 để tạo ra một ví dụ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 một ngày trong tương lai. Lưu ý rằng làm việc với các trường hợp ngây thơ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4, như bạn đang ở đây, có nghĩa là thuộc tính
 3>>> from datetime import datetime
 4>>> datetime.strptime(date_string, format_string)
 5datetime.datetime(2020, 1, 31, 14, 45, 37)
6 của số tăng
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 bởi một và không tính đến bất kỳ khoảng thời gian lặp đi lặp lại hoặc bỏ qua.

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 Các trường hợp cũng hỗ trợ các giá trị âm làm đầu vào cho các đối số:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
5

Trong ví dụ này, bạn thêm ba ngày và trừ bốn giờ, vì vậy

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 mới là vào ngày 29 tháng 1 lúc 5:37 sáng.
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 rất hữu ích theo cách này, nhưng nó có phần hạn chế vì nó không thể thêm hoặc trừ các khoảng thời gian lớn hơn một ngày, chẳng hạn như một tháng hoặc một năm. May mắn thay,
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 cung cấp một sự thay thế mạnh mẽ hơn gọi là
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63.
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63
.

Cú pháp cơ bản của

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63 rất giống với
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46. Bạn có thể cung cấp các đối số từ khóa tạo ra sự thay đổi của bất kỳ số năm, tháng, ngày, giờ, giây hoặc micro giây. Bạn có thể sao chép ví dụ
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 đầu tiên với mã này:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
6

Trong ví dụ này, bạn sử dụng

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63 thay vì
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 để tìm
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 tương ứng với ngày mai. Bây giờ bạn có thể thử thêm năm năm, một tháng và ba ngày vào
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 trong khi trừ bốn giờ ba mươi phút:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
7

Lưu ý trong ví dụ này rằng ngày kết thúc là ngày 1 tháng 3 năm 2025. Điều này là do thêm ba ngày vào

>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 sẽ là ngày 29 tháng 1 và thêm một tháng vào ngày 29 tháng 2, chỉ tồn tại trong một năm nhảy. Vì năm 2025 không phải là một năm bước nhảy, ngày diễn ra vào tháng tới.

Bạn cũng có thể sử dụng

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63 để tính toán chênh lệch giữa hai trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4. Trước đó, bạn đã sử dụng toán tử trừ để tìm sự khác biệt giữa hai trường hợp Python
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4,
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41 và
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2. Với
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63, thay vì sử dụng toán tử trừ, bạn cần vượt qua hai trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 làm đối số:

>>>

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
8

Trong ví dụ này, bạn tạo một thể hiện

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 mới cho
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
44 bằng cách tăng trường
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
58. Sau đó, bạn sử dụng
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63 và vượt qua
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 và
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
44 làm hai đối số.
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 sau đó lấy sự khác biệt giữa hai trường hợp
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 này và trả về kết quả là một ví dụ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63. Trong trường hợp này, sự khác biệt là
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
54 ngày, vì
>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 xảy ra trước
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
44.

Đối tượng

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
91 có vô số công dụng khác. Bạn có thể sử dụng chúng để tìm thông tin lịch phức tạp, chẳng hạn như năm sau, trong đó tháng 10 ngày 13 rơi vào thứ Sáu hoặc ngày nào sẽ diễn ra vào thứ Sáu cuối cùng của tháng hiện tại. Bạn thậm chí có thể sử dụng chúng để thay thế các thuộc tính của một ví dụ
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 và tạo, ví dụ,
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 một tuần trong tương lai lúc 10:00 sáng. Bạn có thể đọc tất cả về các cách sử dụng khác này trong tài liệu
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55.

Hoàn thành việc đếm ngược pycon của bạn

Bây giờ bạn có đủ công cụ trong vành đai của mình để hoàn thành đồng hồ đếm ngược Pycon 2021 của bạn và cung cấp một giao diện đẹp để sử dụng. Trong phần này, bạn sẽ sử dụng

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63 để tính thời gian còn lại cho đến khi PYCON, phát triển chức năng để in thời gian còn lại ở định dạng đẹp và hiển thị ngày PYCON cho người dùng.

Sử dụng >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 63 trong PyCon Countdown của bạn

Đầu tiên, thay thế toán tử trừ đơn giản bằng

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63. Với toán tử trừ, đối tượng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
46 của bạn không thể đếm khoảng thời gian lớn hơn một ngày. Tuy nhiên,
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63 cho phép bạn hiển thị các năm, tháng và ngày còn lại:

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
9

Thay đổi duy nhất mà bạn đã thực hiện trong mã này là thay thế dòng 11 bằng

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
00. Đầu ra từ tập lệnh này sẽ cho bạn biết rằng Pycon US 2021 sẽ xảy ra trong khoảng một năm và một tháng, tùy thuộc vào thời điểm bạn chạy tập lệnh.line 11 with
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
00. The output from this script should tell you that PyCon US 2021 will happen in about one year and one month, depending on when you run the script.

Tuy nhiên, đầu ra đó rất đẹp vì nó trông giống như chữ ký của

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
01. Bạn có thể xây dựng một số đầu ra đẹp hơn bằng cách thay thế dòng 11 trong mã trước bằng mã bên dưới:line 11 in the previous code with the code below:

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
0

Mã này yêu cầu Python 3.8 vì nó sử dụng toán tử Walrus mới. Bạn có thể làm cho tập lệnh này hoạt động trên các phiên bản Python cũ hơn bằng cách sử dụng vòng lặp

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
02 truyền thống thay cho dòng 17.walrus operator. You can make this script work on older versions of Python by using a traditional
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
02 loop in place of line 17.

Trong mã này, bạn xác định

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
03, có hai đối số, đơn vị thời gian và thể hiện
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
63 mà các đơn vị thời gian nên được truy xuất. Nếu lượng thời gian không bằng 0, thì
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
03 sẽ trả về một chuỗi với lượng thời gian và đơn vị thời gian. Nếu không, nó trả về một chuỗi trống.

Bạn sử dụng

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
03 trong phạm vi hiểu trên dòng 17. Dòng đó tạo ra một trình tạo lưu trữ các chuỗi không trống được trả về từ
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
03. Nó sử dụng toán tử Walrus để gán giá trị trả về
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
03 cho
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
09 và chỉ bao gồm
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
09 nếu đó là
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
11.line 17. That line creates a generator storing the non-empty strings returned from
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
03. It uses the walrus operator to assign the return value of
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
03 to
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
09 and includes
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
09 only if it is
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
11.

Cuối cùng, dòng 18 in đầu ra cuối cùng bằng cách sử dụng

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
12 trên trình tạo. Tiếp theo, bạn sẽ xem xét bao gồm cả ngày pycon trong đầu ra từ tập lệnh của bạn.line 18 prints the final output using
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
12 on the generator. Next, you’ll take a look at including the PyCon date in the output from your script.

Hiển thị ngày pycon trong PyCon Countdown của bạn

Trước đó, bạn đã tìm hiểu về việc tạo các trường hợp

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 bằng cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07. Phương pháp này sử dụng ngôn ngữ nhỏ đặc biệt trong Python để chỉ định cách thức chuỗi ngày được định dạng.

Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 có một phương thức bổ sung gọi là
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
16 cho phép bạn định dạng một thể hiện
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 cho một chuỗi. Theo một nghĩa nào đó, nó có hoạt động ngược của phân tích cú pháp bằng cách sử dụng
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07. Bạn có thể phân biệt giữa hai phương thức bằng cách nhớ rằng
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
19 trong
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
07 là viết tắt của Parse và
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
21 trong
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
16 là viết tắt của định dạng.parse, and the
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
21 in
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
16 stands for format.

Trong PyCon Countdown, bạn có thể sử dụng

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
16 để in đầu ra để cho người dùng biết ngày mà PyCon Us sẽ bắt đầu. Hãy nhớ rằng, bạn có thể tìm thấy các mã định dạng mà bạn muốn sử dụng trên strftime.org. Bây giờ thêm mã này vào dòng 18 của tập lệnh đếm ngược PyCon của bạn:line 18 of your PyCon countdown script:

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
1

Trong mã này, dòng 18 sử dụng

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
16 để tạo một chuỗi đại diện cho ngày bắt đầu của PYCON US 2021. Đầu ra bao gồm các ngày trong tuần, tháng, ngày, năm, giờ, phút, AM hoặc múi giờ và múi giờ:line 18 uses
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
16 to create a string representing the starting date of PyCon US 2021. The output includes the weekday, month, day, year, hour, minute, AM or PM, and time zone:

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
2

Trên dòng 19, bạn in chuỗi này cho người dùng xem với một số văn bản giải thích. Dòng cuối cùng in lượng thời gian còn lại cho đến ngày bắt đầu PYCON. Tiếp theo, bạn sẽ hoàn thành kịch bản của mình để giúp người khác dễ dàng sử dụng lại.line 19, you print this string for the user to see with some explanatory text. The last line prints the amount of time remaining until the PyCon start date. Next, you’ll finish your script to make it easier for other people to reuse.

Hoàn thiện việc đếm ngược pycon của bạn

Bước cuối cùng mà bạn sẽ muốn thực hiện là tuân theo các thực tiễn tốt nhất của Python và đặt mã tạo ra đầu ra vào chức năng

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
25. Bạn có thể kiểm tra mã đầy đủ, mã cuối cùng sau khi áp dụng tất cả các thay đổi sau:

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
3

Trong mã này, bạn di chuyển

>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
26 và mã được sử dụng cho trình tạo thành
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
25. Trên dòng 23, bạn sử dụng mệnh đề Guard để đảm bảo rằng
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
25 chỉ chạy khi tệp này được thực thi dưới dạng tập lệnh. Điều này cho phép người khác nhập mã của bạn và sử dụng lại
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41, ví dụ, nếu họ thích.line 23, you use the guard clause to make sure that
>>> from datetime import date
>>> date.fromisoformat("2020-01-31")
datetime.date(2020, 1, 31)
25 only runs when this file is executed as a script. This allows other people to import your code and reuse
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41, for instance, if they’d like.

Bây giờ bạn có thể sửa đổi tập lệnh này nhiều như bạn muốn. Một điều gọn gàng cần làm là cho phép người dùng thay đổi múi giờ được liên kết với

>>> from dateutil import tz
>>> from datetime import datetime
>>> now = datetime.now(tz=tz.tzlocal())
>>> now
datetime.datetime(2020, 1, 26, 0, 55, 3, 372824, tzinfo=tzlocal())
>>> now.tzname()
'Eastern Standard Time'
2 bằng cách truyền đối số dòng lệnh. Bạn cũng có thể thay đổi
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
41 thành một cái gì đó gần nhà hơn, nói Pycon Africa hoặc Europython.

Để thậm chí còn hào hứng hơn với PyCon, hãy xem Python thực sự tại Pycon US 2019 và làm thế nào để tận dụng tối đa Pycon!

Giải pháp thay thế cho Python >>> from datetime import date, time, datetime >>> today = date.today() >>> today datetime.date(2020, 1, 24) >>> now = datetime.now() >>> now datetime.datetime(2020, 1, 24, 14, 4, 57, 10015) >>> current_time = time(now.hour, now.minute, now.second) >>> datetime.combine(today, current_time) datetime.datetime(2020, 1, 24, 14, 4, 57) 4 và >>> from datetime import date, time, datetime >>> date(year=2020, month=1, day=31) datetime.date(2020, 1, 31) >>> time(hour=13, minute=14, second=31) datetime.time(13, 14, 31) >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31) datetime.datetime(2020, 1, 31, 13, 14, 31) 55

Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 và
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 là sự kết hợp mạnh mẽ của các thư viện khi bạn làm việc với ngày và thời gian.
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 thậm chí còn được khuyến nghị trong tài liệu Python. Tuy nhiên, có nhiều thư viện khác mà bạn có thể sử dụng để làm việc với ngày và giờ ở Python. Một số trong số này dựa vào
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 và
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55, trong khi những người khác là thay thế hoàn toàn độc lập:

  • PYTZ cung cấp thông tin múi giờ tương tự như
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    55. Nó sử dụng một giao diện hơi khác so với tiêu chuẩn
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    54, vì vậy hãy lưu ý đến các vấn đề tiềm ẩn nếu bạn quyết định sử dụng nó.
    provides time zone information similar to
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    55. It uses a somewhat different interface than the standard
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    54, so be aware of the potential problems if you decide to use it.
  • Mũi tên cung cấp một sự thay thế thả vào cho
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4. Nó lấy cảm hứng từ
    >>> from datetime import date
    >>> date.fromisoformat("2020-01-31")
    datetime.date(2020, 1, 31)
    
    42, vì vậy nếu bạn đến từ phát triển web, thì đây có thể là một giao diện quen thuộc hơn.
    provides a drop-in replacement for
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4. It’s inspired by
    >>> from datetime import date
    >>> date.fromisoformat("2020-01-31")
    datetime.date(2020, 1, 31)
    
    42, so if you’re coming from web development, then this might be a more familiar interface.
  • Pendulum cung cấp một sự thay thế thả vào khác cho
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4. Nó bao gồm giao diện múi giờ và triển khai
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    46 được cải thiện.
    provides another drop-in replacement for
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4. It includes a time zone interface and an improved
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    46 implementation.
  • Maya cung cấp một giao diện tương tự như
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4. Nó dựa vào con lắc cho các phần của thư viện phân tích cú pháp.
    provides a similar interface as
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4. It relies on Pendulum for parts of the parsing library.
  • DateParser cung cấp một giao diện để tạo các trường hợp
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 từ văn bản có thể đọc được của con người. Nó linh hoạt và hỗ trợ nhiều ngôn ngữ.
    provides an interface to generate
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 instances from human-readable text. It’s flexible and supports many languages.

Ngoài ra, nếu bạn làm việc rất nhiều với các gói khoa học dữ liệu, hoặc các gói khoa học dữ liệu khác, thì có một vài tùy chọn có thể hữu ích cho bạn:

  • Numpy cung cấp một API tương tự như thư viện Python
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 tích hợp, nhưng phiên bản Numpy có thể được sử dụng trong các mảng.
    provides a similar API to the built-in Python
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 library, but the NumPy version can be used in arrays.
  • Pandas cung cấp hỗ trợ cho dữ liệu chuỗi thời gian trong các khung dữ liệu, thường là các giá trị tuần tự của các sự kiện dựa trên thời gian, bằng cách sử dụng mô-đun
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 Numpy.
    provides support for time-series data in DataFrames, usually sequential values of time-based events, by using the NumPy
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 module.
  • CFTime cung cấp hỗ trợ cho các lịch khác ngoài lịch Gregorian Progorian cũng như các đơn vị thời gian khác phù hợp với các quy ước về khí hậu và dự báo (CF). Nó được sử dụng bởi gói
    >>> from datetime import date
    >>> date.fromisoformat("2020-01-31")
    datetime.date(2020, 1, 31)
    
    49 để cung cấp hỗ trợ chuỗi thời gian.
    provides support for calendars other than the proleptic Gregorian calendar as well as other time units conforming to the Climate and Forecasting (CF) conventions. It’s used by the
    >>> from datetime import date
    >>> date.fromisoformat("2020-01-31")
    datetime.date(2020, 1, 31)
    
    49 package to provide time-series support.

Đọc thêm

Vì lập trình theo thời gian có thể rất phức tạp, có nhiều tài nguyên trên web để giúp bạn tìm hiểu thêm về nó. May mắn thay, đây là một vấn đề mà nhiều người làm việc trong mọi ngôn ngữ lập trình đã nghĩ đến, vì vậy bạn thường có thể tìm thấy thông tin hoặc công cụ để giúp đỡ với bất kỳ vấn đề nào bạn có thể có. Tại đây, một danh sách các bài viết và video được chọn mà tôi thấy hữu ích khi viết hướng dẫn này:

  • Thời gian tiết kiệm ánh sáng ban ngày và múi giờ thực hành tốt nhất
  • Lưu trữ UTC không phải là một viên đạn bạc
  • Cách lưu Datetimes cho các sự kiện trong tương lai
  • Mã hóa các thực tiễn tốt nhất bằng cách sử dụng DateTime trong .NET Framework
  • Máy tính: Vấn đề với Time & Timezones
  • Sự phức tạp của lập trình dữ liệu thời gian

Ngoài ra, Paul Ganssle là người đóng góp cốt lõi cho CPython và là người bảo trì hiện tại của

>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55. Các bài viết và video của anh ấy là một nguồn tài nguyên tuyệt vời cho người dùng Python:

  • Làm việc với múi giờ: Mọi thứ bạn ước bạn không cần biết (Pycon 2019)
  • PYTZ: Footgun nhanh nhất ở phương Tây
  • Ngừng sử dụng UTCNOW và UTCfromtimestamp
  • Một trường hợp tò mò về so sánh DateTime không chuyển đổi

Sự kết luận

Trong hướng dẫn này, bạn đã tìm hiểu về lập trình với ngày và thời gian và lý do tại sao nó thường dẫn đến lỗi và sự nhầm lẫn. Bạn cũng đã tìm hiểu về các mô -đun Python

>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4 và
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55 cũng như cách làm việc với các múi giờ trong mã của bạn.
>>> from datetime import date, time, datetime
>>> today = date.today()
>>> today
datetime.date(2020, 1, 24)
>>> now = datetime.now()
>>> now
datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
>>> current_time = time(now.hour, now.minute, now.second)
>>> datetime.combine(today, current_time)
datetime.datetime(2020, 1, 24, 14, 4, 57)
4
and
>>> from datetime import date, time, datetime
>>> date(year=2020, month=1, day=31)
datetime.date(2020, 1, 31)
>>> time(hour=13, minute=14, second=31)
datetime.time(13, 14, 31)
>>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
datetime.datetime(2020, 1, 31, 13, 14, 31)
55
modules as well as how to work with time zones in your code.

Bây giờ bạn có thể:

  • Cửa hàng ngày ở định dạng tốt, chống trong tương lai trong các chương trình của bạn dates in a good, future-proof format in your programs
  • Tạo các phiên bản Python
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 với các chuỗi được định dạng
    Python
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 instances with formatted strings
  • Thêm thông tin múi giờ vào các phiên bản
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 với
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    55
    time zone information to
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 instances with
    >>> from datetime import date, time, datetime
    >>> date(year=2020, month=1, day=31)
    datetime.date(2020, 1, 31)
    >>> time(hour=13, minute=14, second=31)
    datetime.time(13, 14, 31)
    >>> datetime(year=2020, month=1, day=31, hour=13, minute=14, second=31)
    datetime.datetime(2020, 1, 31, 13, 14, 31)
    
    55
  • Thực hiện các hoạt động số học với các trường hợp
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 bằng cách sử dụng
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    63
    arithmetic operations with
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    4 instances using
    >>> from datetime import date, time, datetime
    >>> today = date.today()
    >>> today
    datetime.date(2020, 1, 24)
    >>> now = datetime.now()
    >>> now
    datetime.datetime(2020, 1, 24, 14, 4, 57, 10015)
    >>> current_time = time(now.hour, now.minute, now.second)
    >>> datetime.combine(today, current_time)
    datetime.datetime(2020, 1, 24, 14, 4, 57)
    
    63

Cuối cùng, bạn đã tạo ra một kịch bản đếm ngược thời gian còn lại cho đến khi Pycon tiếp theo chúng tôi để bạn có thể hào hứng cho cuộc tụ tập Python lớn nhất xung quanh. Ngày và thời gian có thể khó khăn, nhưng với các công cụ Python này trong kho vũ khí của bạn, bạn đã sẵn sàng để giải quyết những vấn đề khó khăn nhất!

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Sử dụng mô -đun DateTime của Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Using Python's datetime Module

Làm thế nào để ngày và thời gian hoạt động trong Python?

Trong Python, ngày và thời gian không phải là một loại dữ liệu của riêng họ, nhưng một mô -đun có tên DateTime có thể được nhập để hoạt động với ngày cũng như thời gian. Mô -đun DateTime Python được tích hợp vào Python, do đó không cần phải cài đặt bên ngoài. Mô -đun Datetime Python cung cấp cho các lớp để làm việc theo ngày và giờ.a module named datetime can be imported to work with the date as well as time. Python Datetime module comes built into Python, so there is no need to install it externally. Python Datetime module supplies classes to work with date and time.

Làm thế nào để Python xử lý thời gian?

Conclusion..
Sử dụng số điểm nổi, biểu thị vài giây đã trôi qua kể từ thời đại, để đối phó với thời gian ..
Quản lý thời gian bằng cách sử dụng các đối tượng Tuples và struct_time ..
Chuyển đổi giữa các giây, bộ dữ liệu và chuỗi dấu thời gian ..
Đình chỉ việc thực hiện một luồng python ..
Đo lường hiệu suất bằng cách sử dụng perf_count ().

Làm thế nào để Python xác định định dạng ngày?

Làm thế nào để bạn kiểm tra xem ngày ở định dạng DD MM Yyyy ở Python ?..
>>> Nhập Datetime ..
>>> xác thực def (Date_Text):.
ngày giờ.ngày giờ.Strptime (date_text, '%y-%m-%d').
ngoại trừ valueError:.
Tăng giá trịerror ("Định dạng dữ liệu không chính xác, nên là yyyy-mm-dd").

Làm thế nào để máy học xử lý ngày và thời gian?

Về cơ bản, bạn có thể phá vỡ ngày và nhận được năm, tháng, tuần trong năm, ngày của tháng, giờ, phút, thứ hai, v.v. Bạn cũng có thể nhận được ngày trong tuần (Thứ Hai = 0, Chủ nhật = 6).Lưu ý hãy cẩn thận với tuần trong năm vì vài ngày đầu năm có thể là 53 nếu tuần đó bắt đầu vào năm trước.break apart the date and get the year, month, week of year, day of month, hour, minute, second, etc. You can also get the day of the week (Monday = 0, Sunday = 6). Note be careful with week of year because the first few days of the year may be 53 if that week begins in the prior year.