Mặc dù số học ngày và giờ được hỗ trợ, trọng tâm của việc triển khai là trích xuất thuộc tính hiệu quả để định dạng và thao tác đầu ra
Xem thêm
mô-đunGeneral calendar related functions
mô-đunTime access and conversions
mô-đunConcrete time zones representing the IANA time zone database
Package dateutilThird-party library with expanded time zone and parsing support
Aware and Naive Objects
Date and time objects may be categorized as “aware” or “naive” depending on whether or not they include timezone information
With sufficient knowledge of applicable algorithmic and political time adjustments, such as time zone and daylight saving time information, an aware object can locate itself relative to other aware objects. An aware object represents a specific moment in time that is not open to interpretation.
A naive object does not contain enough information to unambiguously locate itself relative to other date/time objects. Whether a naive object represents Coordinated Universal Time [UTC], local time, or time in some other timezone is purely up to the program, just like it is up to the program whether a particular number represents metres, miles, or mass. Naive objects are easy to understand and to work with, at the cost of ignoring some aspects of reality
For applications requiring aware objects, and objects have an optional time zone information attribute,
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'4, that can be set to an instance of a subclass of the abstract class. These objects capture information about the offset from UTC time, the time zone name, and whether daylight saving time is in effect
Only one concrete class, the class, is supplied by the module. The class can represent simple timezones with fixed offsets from UTC, such as UTC itself or North American EST and EDT timezones. Supporting timezones at deeper levels of detail is up to the application. The rules for time adjustment across the world are more political than rational, change frequently, and there is no standard suitable for every application aside from UTC
Constants
The module exports the following constants
datetime. MINYEARThe smallest year number allowed in a or object. is
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.05datetime. MAXYEAR
The largest year number allowed in a or object. is
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.09datetime. UTC
Alias for the UTC timezone singleton
New in version 3. 11
Available Types
class datetime. dateAn idealized naive date, assuming the current Gregorian calendar always was, and always will be, in effect. Attributes. , , and
class datetime. timeAn idealized time, independent of any particular day, assuming that every day has exactly 24*60*60 seconds. [Không có khái niệm “giây nhuận” ở đây. ] Attributes. , , , , and
class datetime. datetimeA combination of a date and a time. Attributes. , , , , , , , and
class datetime. timedeltaA duration expressing the difference between two , , or instances to microsecond resolution
class datetime. tzinfoAn abstract base class for time zone information objects. These are used by the and classes to provide a customizable notion of time adjustment [for example, to account for time zone and/or daylight saving time]
class datetime. timezoneA class that implements the abstract base class as a fixed offset from the UTC
New in version 3. 2
Objects of these types are immutable
Subclass relationships
object timedelta tzinfo timezone time date datetime
Common Properties
The , , , and types share these common features
Objects of these types are immutable
Objects of these types are hashable, meaning that they can be used as dictionary keys
Objects of these types support efficient pickling via the module
Determining if an Object is Aware or Naive
Objects of the type are always naive
An object of type or may be aware or naive
A object d is aware if both of the following hold
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
02 is not>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
03>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
04 does not return>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
03
Otherwise, d is naive
A object t is aware if both of the following hold
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
07 is not>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
03>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
09 does not return>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
03
Otherwise, t is naive
Sự khác biệt giữa nhận thức và ngây thơ không áp dụng cho các đối tượng
Các đối tượng
Một đối tượng đại diện cho một khoảng thời gian, sự khác biệt giữa hai ngày hoặc thời gian
lớp ngày giờ. timedelta[ngày=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0]Tất cả các đối số là tùy chọn và mặc định là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]14. Các đối số có thể là số nguyên hoặc số float và có thể dương hoặc âm
Chỉ ngày, giây và micro giây được lưu trữ nội bộ. Các đối số được chuyển đổi thành các đơn vị đó
Một phần nghìn giây được chuyển đổi thành 1000 micro giây
Một phút được chuyển thành 60 giây
Một giờ được chuyển đổi thành 3600 giây
Một tuần được chuyển đổi thành 7 ngày
và ngày, giây và micro giây sau đó được chuẩn hóa để biểu diễn là duy nhất, với
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
15>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
16 [số giây trong một ngày]>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
17
Ví dụ sau đây minh họa cách mọi đối số ngoài ngày, giây và micro giây được “hợp nhất” và chuẩn hóa thành ba thuộc tính kết quả đó
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
Nếu bất kỳ đối số nào là số float và có micro giây phân số, thì micro giây phân số còn lại từ tất cả các đối số sẽ được kết hợp và tổng của chúng được làm tròn đến micro giây gần nhất bằng cách sử dụng bộ ngắt kết nối nửa vòng đến chẵn. Nếu không có đối số nào là float, quá trình chuyển đổi và chuẩn hóa là chính xác [không có thông tin nào bị mất]
Nếu giá trị chuẩn hóa của ngày nằm ngoài phạm vi được chỉ định, được tăng lên
Note that normalization of negative values may be surprising at first. For example
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
Class attributes
timedelta. minThe most negative object,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]20timedelta. max
The most positive object,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]22timedelta. resolution
The smallest possible difference between non-equal objects,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]24
Lưu ý rằng, do chuẩn hóa,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]25 >
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]26.
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]27 không thể biểu diễn như một đối tượng
Thuộc tính phiên bản [chỉ đọc]
Thuộc tính
Giá trị
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]29
Giữa -999999999 và bao gồm cả 999999999
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]30
Bao gồm từ 0 đến 86399
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]31
Bao gồm từ 0 đến 999999
hoạt động được hỗ trợ
Hoạt động
Kết quả
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]32
Tổng của t2 và t3. Sau đó t1-t2 == t3 và t1-t3 == t2 là đúng. [1]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]33
Sự khác biệt của t2 và t3. Sau đó t1 == t2 - t3 và t2 == t1 + t3 là đúng. [1][6]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]34
Delta nhân với một số nguyên. Sau đó t1 // i == t2 là đúng, với điều kiện là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]35
Nói chung, t1 * i == t1 * [i-1] + t1 là đúng. [1]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]36
Delta nhân với một số float. Kết quả được làm tròn đến bội số gần nhất của timedelta. độ phân giải sử dụng nửa vòng đến chẵn
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]37
Chia [3] tổng thời lượng t2 cho đơn vị khoảng thời gian t3. Trả về một đối tượng
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]39
Delta chia cho float hoặc int. The result is rounded to the nearest multiple of timedelta. độ phân giải sử dụng nửa vòng đến chẵn
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]40 hoặc
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]41
Sàn được tính và phần còn lại [nếu có] bị vứt đi. Trong trường hợp thứ hai, một số nguyên được trả về. [3]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]42
Phần còn lại được tính như một đối tượng. [3]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]44
Tính thương và số dư.
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]45 [3] và
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]46. q là một số nguyên và r là một đối tượng
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]48
Trả về một đối tượng có cùng giá trị. [2]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]50
tương đương với [-t1. ngày, -t1. giây, -t1. micro giây] và đến t1* -1. [1][4]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]52
tương đương với +t khi
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]53, và với -t khi
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]54. [2]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]55
Trả về một chuỗi ở dạng
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]56, trong đó D là số âm cho số âm của
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]57. [5]
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]58
Trả về một biểu diễn chuỗi của đối tượng dưới dạng lệnh gọi hàm tạo với các giá trị thuộc tính chuẩn
ghi chú
Điều này là chính xác nhưng có thể tràn
Điều này là chính xác và không thể tràn
Chia cho 0 tăng
-timedelta. max không thể biểu diễn dưới dạng đối tượng
Biểu diễn chuỗi của các đối tượng được chuẩn hóa tương tự như biểu diễn bên trong của chúng. Điều này dẫn đến kết quả hơi bất thường đối với timedelta âm. Ví dụ
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:00
Biểu thức
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
63 sẽ luôn bằng biểu thức>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
64 trừ khi t3 bằng với>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
25;
In addition to the operations listed above, objects support certain additions and subtractions with and objects [see below]
Đã thay đổi trong phiên bản 3. 2. Phép chia tầng và phép chia thực sự của một đối tượng cho một đối tượng khác hiện đã được hỗ trợ, cũng như các phép toán còn lại và hàm. Phép chia thực sự và phép nhân của một đối tượng với một đối tượng hiện được hỗ trợ.
So sánh các đối tượng được hỗ trợ, với một số lưu ý
Các phép so sánh
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]75 hoặc
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]76 luôn trả về a , bất kể loại đối tượng được so sánh
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
Đối với tất cả các phép so sánh khác [chẳng hạn như
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]78 và
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]79], khi một đối tượng được so sánh với một đối tượng thuộc loại khác, sẽ được nâng lên
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
Trong ngữ cảnh Boolean, một đối tượng được coi là đúng khi và chỉ khi nó không bằng
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]83
Phương thức sơ thẩm
đồng bằng thời gian. total_seconds[]Trả về tổng số giây có trong khoảng thời gian. Tương đương với
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]84. Đối với các đơn vị khoảng thời gian không phải là giây, hãy sử dụng biểu mẫu chia trực tiếp [e. g.
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]85]
Lưu ý rằng trong khoảng thời gian rất lớn [hơn 270 năm trên hầu hết các nền tảng], phương pháp này sẽ mất độ chính xác micro giây
New in version 3. 2
Ví dụ về cách sử dụng.
Một ví dụ bổ sung về chuẩn hóa
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.0
Ví dụ về số học
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]
Các đối tượng
Một đối tượng đại diện cho một ngày [năm, tháng và ngày] trong lịch lý tưởng hóa, lịch Gregorian hiện tại được mở rộng vô thời hạn theo cả hai hướng
Ngày 1 tháng 1 của năm 1 được gọi là ngày 1, ngày 2 tháng 1 của năm 1 được gọi là ngày 2, v.v.
lớp ngày giờ. ngày[năm , tháng, day]Tất cả các đối số là bắt buộc. Các đối số phải là số nguyên, trong các phạm vi sau
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
90>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
91>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
92
Nếu một đối số bên ngoài các phạm vi được đưa ra, được nâng lên
Các hàm tạo khác, tất cả các phương thức của lớp
phương thức lớp ngày. hôm nay[]Trả về ngày địa phương hiện tại
Điều này tương đương với
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]94phương thức lớp ngày. dấu thời gian từ[dấu thời gian]
Trả về ngày địa phương tương ứng với dấu thời gian POSIX, chẳng hạn như được trả về bởi
Điều này có thể tăng , nếu dấu thời gian nằm ngoài phạm vi giá trị được hỗ trợ bởi hàm
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 của nền tảng và khi
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 thất bại. Điều này thường bị giới hạn trong các năm từ 1970 đến 2038. Lưu ý rằng trên các hệ thống không phải POSIX bao gồm các giây nhuận trong khái niệm dấu thời gian, các giây nhuận bị bỏ qua bởi
Đã thay đổi trong phiên bản 3. 3. Tăng thay vì nếu dấu thời gian nằm ngoài phạm vi giá trị được hỗ trợ bởi hàm C
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 của nền tảng. Tăng thay vì trên
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 thất bại. phương thức lớp ngày. từ thứ tự[thứ tự]
Trả về ngày tương ứng với thứ tự Gregorian proleptic, trong đó ngày 1 tháng 1 của năm 1 có thứ tự 1
được nâng lên trừ khi
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]08. Đối với bất kỳ ngày d,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]09phương thức lớp ngày. fromisoformat[date_string]
Trả về một tương ứng với một chuỗi_ngày được cung cấp ở bất kỳ định dạng ISO 8601 hợp lệ nào, ngoại trừ các ngày thứ tự [e. g.
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]11]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
Mới trong phiên bản 3. 7
Đã thay đổi trong phiên bản 3. 11. Trước đây, phương thức này chỉ hỗ trợ định dạng
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]12. phương thức lớp ngày. từ dương lịch[năm , tuần, day]
Trả về một tương ứng với ngày theo lịch ISO được chỉ định theo năm, tuần và ngày. Đây là nghịch đảo của hàm
Mới trong phiên bản 3. 8
Class attributes
date. phútNgày đại diện sớm nhất,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]15ngày. tối đa
Ngày đại diện mới nhất,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]16ngày. độ phân giải
Sự khác biệt nhỏ nhất có thể giữa các đối tượng ngày không bằng nhau,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]17
Thuộc tính phiên bản [chỉ đọc]
ngày. nămGiữa và bao gồm
ngày. thángTừ 1 đến 12 bao gồm
ngày. ngàyGiữa 1 và số ngày trong tháng nhất định của năm nhất định
hoạt động được hỗ trợ
Hoạt động
Kết quả
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]20
ngày2 sẽ là
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]21 ngày sau ngày1. [1]
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]22
Tính date2 sao cho
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]23. [2]
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]24
[3]
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]25
date1 được coi là nhỏ hơn date2 khi date1 trước date2 về thời gian. [4]
ghi chú
date2 được di chuyển về phía trước theo thời gian nếu
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
26 hoặc lùi lại nếu>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
27. Sau đó>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
28.>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
29 và>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
30 bị bỏ qua. được nâng lên nếu>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
32 sẽ nhỏ hơn hoặc lớn hơn>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
29 và>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
30 bị bỏ quaĐiều này là chính xác và không thể tràn. múi giờ. giây và timedelta. micro giây là 0 và date2 + timedelta == date1 sau
In other words,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
25 if and only if>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
38. So sánh ngày tăng lên nếu so sánh khác cũng không phải là một đối tượng. However,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
41 is returned instead if the other comparand has a>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
42 attribute. Móc này cung cấp cho các loại đối tượng ngày khác cơ hội thực hiện so sánh kiểu hỗn hợp. Nếu không, khi một đối tượng được so sánh với một đối tượng thuộc loại khác, sẽ được nâng lên trừ khi so sánh là>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
75 hoặc>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
76. Các trường hợp sau trả về hoặc , tương ứng
Trong ngữ cảnh Boolean, tất cả các đối tượng được coi là đúng
Phương thức sơ thẩm
ngày. thay thế[năm=chính mình. năm , tháng=mình. month , day=self. day]Return a date with the same value, except for those parameters given new values by whichever keyword arguments are specified
Thí dụ
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]date. timetuple[]
Return a such as returned by
The hours, minutes and seconds are 0, and the DST flag is -1
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]52 is equivalent to
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]0
where
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]53 is the day number within the current year starting with
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.05 for January 1stdate. toordinal[]
Return the proleptic Gregorian ordinal of the date, where January 1 of year 1 has ordinal 1. For any object d,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]09date. weekday[]
Return the day of the week as an integer, where Monday is 0 and Sunday is 6. For example,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]57, a Wednesday. See also date. isoweekday[]
Return the day of the week as an integer, where Monday is 1 and Sunday is 7. For example,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]59, a Wednesday. See also , date. isocalendar[]
Return a object with three components.
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]1,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]63 and
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]64
The ISO calendar is a widely used variant of the Gregorian calendar.
The ISO year consists of 52 or 53 full weeks, and where a week starts on a Monday and ends on a Sunday. The first week of an ISO year is the first [Gregorian] calendar week of a year containing a Thursday. This is called week number 1, and the ISO year of that Thursday is the same as its Gregorian year
For example, 2004 begins on a Thursday, so the first week of ISO year 2004 begins on Monday, 29 Dec 2003 and ends on Sunday, 4 Jan 2004
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]1
Changed in version 3. 9. Result changed from a tuple to a .
date. isoformat[]Return a string representing the date in ISO 8601 format,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]12
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]2date. __str__[]
For a date d,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]66 is equivalent to
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]67date. ctime[]
Return a string representing the date
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]3
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]68 is equivalent to
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]4
on platforms where the native C
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]69 function [which invokes, but which does not invoke] conforms to the C standarddate. strftime[format]
Return a string representing the date, controlled by an explicit format string. Format codes referring to hours, minutes or seconds will see 0 values. For a complete list of formatting directives, see
date. __format__[format]Same as . This makes it possible to specify a format string for a object in and when using . For a complete list of formatting directives, see
Examples of Usage.
Example of counting days to an event
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]5
More examples of working with
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]6
Các đối tượng
A object is a single object containing all the information from a object and a object
Like a object, assumes the current Gregorian calendar extended in both directions; like a object, assumes there are exactly 3600*24 seconds in every day
Constructor
class datetime. datetime[year , month , day , hour=0 , minute=0 , second=0 , microsecond=0 , tzinfo=None , * , fold=0]The year, month and day arguments are required. tzinfo may be
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, or an instance of a subclass. The remaining arguments must be integers in the following ranges
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
90,>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
91,>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
92,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
90,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
91,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
92,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
93,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
94
Nếu một đối số bên ngoài các phạm vi được đưa ra, được nâng lên
New in version 3. 6. Added the
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]96 argument.
Các hàm tạo khác, tất cả các phương thức của lớp
classmethod datetime. today[]Return the current local datetime, with
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03
Equivalent to
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]7
See also ,
This method is functionally equivalent to , but without a
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0002 parameterclassmethod datetime. now[tz=None]
Return the current local date and time
If optional argument tz is
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 or not specified, this is like , but, if possible, supplies more precision than can be gotten from going through a timestamp [for example, this may be possible on platforms supplying the C
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0006 function]
If tz is not
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, it must be an instance of a subclass, and the current date and time are converted to tz’s time zone
This function is preferred over and
classmethod datetime. utcnow[]Return the current UTC date and time, with
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03
This is like , but returns the current UTC date and time, as a naive object. An aware current UTC datetime can be obtained by calling
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0015. See also
Warning
Because naive
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 objects are treated by many
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 methods as local times, it is preferred to use aware datetimes to represent times in UTC. As such, the recommended way to create an object representing the current time in UTC is by calling
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0015classmethod datetime. fromtimestamp[timestamp , tz=None]
Return the local date and time corresponding to the POSIX timestamp, such as is returned by . If optional argument tz is
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 or not specified, the timestamp is converted to the platform’s local date and time, and the returned object is naive
If tz is not
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, it must be an instance of a subclass, and the timestamp is converted to tz’s time zone
có thể tăng , nếu dấu thời gian nằm ngoài phạm vi giá trị được hỗ trợ bởi các hàm C
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 hoặc
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028 của nền tảng và trên
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 hoặc
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028 không thành công. Điều này thường bị giới hạn trong các năm từ 1970 đến 2038. Lưu ý rằng trên các hệ thống không phải POSIX bao gồm giây nhuận trong khái niệm dấu thời gian, giây nhuận bị bỏ qua và sau đó có thể có hai dấu thời gian khác nhau một giây tạo ra các đối tượng giống hệt nhau. Phương pháp này được ưa chuộng hơn
Đã thay đổi trong phiên bản 3. 3. Tăng thay vì nếu dấu thời gian nằm ngoài phạm vi giá trị được hỗ trợ bởi các hàm C
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 hoặc ________49____28 của nền tảng. Tăng thay vì khi thất bại
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]97 hoặc
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028.
Đã thay đổi trong phiên bản 3. 6. có thể trả về các trường hợp được đặt thành 1.
phương thức lớp ngày giờ. utcfromtimestamp[dấu thời gian]Trả lại UTC tương ứng với dấu thời gian POSIX, với
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03. [Đối tượng kết quả là ngây thơ. ]
Điều này có thể tăng , nếu dấu thời gian nằm ngoài phạm vi giá trị được hỗ trợ bởi hàm
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028 của nền tảng và khi
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028 thất bại. It’s common for this to be restricted to years in 1970 through 2038
Để có được một đối tượng nhận thức, hãy gọi
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]8
On the POSIX compliant platforms, it is equivalent to the following expression
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]9
ngoại trừ công thức sau luôn hỗ trợ phạm vi năm đầy đủ. giữa và bao gồm
Warning
Bởi vì các đối tượng
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 ngây thơ được nhiều phương thức
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 coi là giờ địa phương, nên sử dụng thời gian nhận biết để biểu thị thời gian theo UTC. Như vậy, cách được đề xuất để tạo một đối tượng đại diện cho một dấu thời gian cụ thể trong UTC là gọi số
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0058
Đã thay đổi trong phiên bản 3. 3. Raise instead of if the timestamp is out of the range of values supported by the platform C
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028 function. Tăng thay vì trên
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028 thất bại. phương thức lớp ngày giờ. fromordinal[ordinal]
Trả về tương ứng với thứ tự Gregorian proleptic, trong đó ngày 1 tháng 1 của năm 1 có thứ tự 1. được nâng lên trừ khi
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0067. Giờ, phút, giây và micro giây của kết quả đều bằng 0 và là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03phương thức lớp ngày giờ. kết hợp[ngày , thời gian . tzinfo, tzinfo=self.tzinfo]
Return a new object whose date components are equal to the given object’s, and whose time components are equal to the given object’s. Nếu đối số tzinfo được cung cấp, giá trị của nó được sử dụng để đặt thuộc tính của kết quả, nếu không thì thuộc tính của đối số thời gian được sử dụng
Đối với bất kỳ đối tượng d,
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0076. If date is a object, its time components and attributes are ignored
Đã thay đổi trong phiên bản 3. 6. Added the tzinfo argument.
classmethod datetime. fromisoformat[date_string]Return a corresponding to a date_string in any valid ISO 8601 format, with the following exceptions
Time zone offsets may have fractional seconds
The
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:00
80 separator may be replaced by any single unicode characterOrdinal dates are not currently supported
Fractional hours and minutes are not supported
Examples
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]0
Mới trong phiên bản 3. 7
Changed in version 3. 11. Previously, this method only supported formats that could be emitted by or .
classmethod datetime. fromisocalendar[year , week , day]Return a corresponding to the ISO calendar date specified by year, week and day. The non-date components of the datetime are populated with their normal default values. This is the inverse of the function
Mới trong phiên bản 3. 8
classmethod datetime. strptime[date_string , format]Return a corresponding to date_string, parsed according to format
This is equivalent to
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]1
is raised if the date_string and format can’t be parsed by or if it returns a value which isn’t a time tuple. For a complete list of formatting directives, see
Class attributes
datetime. minThe earliest representable ,
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0089datetime. max
The latest representable ,
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0091datetime. resolution
The smallest possible difference between non-equal objects,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]24
Thuộc tính phiên bản [chỉ đọc]
datetime. yearGiữa và bao gồm
datetime. monthTừ 1 đến 12 bao gồm
datetime. dayGiữa 1 và số ngày trong tháng nhất định của năm nhất định
datetime. hourIn
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0096datetime. minute
In
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097datetime. second
In
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097datetime. microsecond
In
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0099datetime. tzinfo
The object passed as the tzinfo argument to the constructor, or
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 if none was passeddatetime. fold
In
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False02. Used to disambiguate wall times during a repeated interval. [A repeated interval occurs when clocks are rolled back at the end of daylight saving time or when the UTC offset for the current zone is decreased for political reasons. ] The value 0 [1] represents the earlier [later] of the two moments with the same wall time representation
New in version 3. 6
hoạt động được hỗ trợ
Hoạt động
Kết quả
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False03
[1]
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False04
[2]
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False05
[3]
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False06
Compares to . [4]
datetime2 is a duration of timedelta removed from datetime1, moving forward in time if
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
21 > 0, or backward if>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
21 < 0. The result has the same attribute as the input datetime, and datetime2 - datetime1 == timedelta after. is raised if datetime2. year would be smaller than or larger than . Note that no time zone adjustments are done even if the input is an aware objectComputes the datetime2 such that datetime2 + timedelta == datetime1. As for addition, the result has the same attribute as the input datetime, and no time zone adjustments are done even if the input is aware
Subtraction of a from a is defined only if both operands are naive, or if both are aware. If one is aware and the other is naive, is raised
If both are naive, or both are aware and have the same attribute, the attributes are ignored, and the result is a object t such that
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
22. No time zone adjustments are done in this caseIf both are aware and have different attributes,
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
24 acts as if a and b were first converted to naive UTC datetimes first. The result is>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
25 except that the implementation never overflowsdatetime1 is considered less than datetime2 when datetime1 precedes datetime2 in time
If one comparand is naive and the other is aware, is raised if an order comparison is attempted. For equality comparisons, naive instances are never equal to aware instances
If both comparands are aware, and have the same attribute, the common attribute is ignored and the base datetimes are compared. If both comparands are aware and have different attributes, the comparands are first adjusted by subtracting their UTC offsets [obtained from
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
30]Changed in version 3. 3. Equality comparisons between aware and naive instances don’t raise .
Note
In order to stop comparison from falling back to the default scheme of comparing object addresses, datetime comparison normally raises if the other comparand isn’t also a object. However,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
41 is returned instead if the other comparand has a>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
42 attribute. This hook gives other kinds of date objects a chance at implementing mixed-type comparison. If not, when a object is compared to an object of a different type, is raised unless the comparison is>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
75 or>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
76. The latter cases return or , respectively
Phương thức sơ thẩm
datetime. date[]Return object with same year, month and day
datetime. time[]Return object with same hour, minute, second, microsecond and fold. is
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03. See also method
Changed in version 3. 6. The fold value is copied to the returned object.
datetime. timetz[]Return object with same hour, minute, second, microsecond, fold, and tzinfo attributes. See also method
Changed in version 3. 6. The fold value is copied to the returned object.
ngày giờ. replace[year=self. year , month=self. month , day=self. day , hour=self. giờ , phút=chính mình. phút , giây=chính mình. second , microsecond=self. micro giây , tzinfo=self. tzinfo , * , gấp=0]Return a datetime with the same attributes, except for those attributes given new values by whichever keyword arguments are specified. Note that
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False52 can be specified to create a naive datetime from an aware datetime with no conversion of date and time data
New in version 3. 6. Added the
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]96 argument. datetime. múi giờ[tz=Không có]
Trả về một đối tượng có thuộc tính mới tz, điều chỉnh dữ liệu ngày và giờ để kết quả có cùng thời gian UTC với chính nó, nhưng theo giờ địa phương của tz
If provided, tz must be an instance of a subclass, and its and methods must not return
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03. If self is naive, it is presumed to represent time in the system timezone
Nếu được gọi mà không có đối số [hoặc với
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False60], múi giờ cục bộ của hệ thống được giả định cho múi giờ đích. Thuộc tính
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False61 của phiên bản datetime đã chuyển đổi sẽ được đặt thành phiên bản có tên vùng và phần bù thu được từ HĐH
Nếu
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False63 là tz, thì
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False64 là tự. không thực hiện điều chỉnh dữ liệu ngày hoặc giờ. Else the result is local time in the timezone tz, representing the same UTC time as self. after
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False65,
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False66 will have the same date and time data as
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False67
Nếu bạn chỉ muốn đính kèm một đối tượng múi giờ tz vào một datetime dt mà không cần điều chỉnh dữ liệu ngày và giờ, hãy sử dụng
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False68. Nếu bạn chỉ muốn xóa đối tượng múi giờ khỏi dt datetime nhận biết mà không chuyển đổi dữ liệu ngày và giờ, hãy sử dụng
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False69
Note that the default method can be overridden in a subclass to affect the result returned by . Bỏ qua các trường hợp lỗi, hoạt động như
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]2
Đã thay đổi trong phiên bản 3. 3. tz bây giờ có thể được bỏ qua.
Changed in version 3. 6. The method can now be called on naive instances that are presumed to represent system local time.
ngày giờ. utcoffset[]Nếu là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, nếu không thì trả về
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False78 và đưa ra một ngoại lệ nếu cái sau không trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc một đối tượng có cường độ nhỏ hơn một ngày
Đã thay đổi trong phiên bản 3. 7. Phần bù UTC không bị giới hạn trong một số nguyên của phút.
ngày giờ. dst[]Nếu là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, nếu không thì trả về
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False84 và đưa ra một ngoại lệ nếu cái sau không trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc một đối tượng có cường độ nhỏ hơn một ngày
Đã thay đổi trong phiên bản 3. 7. DST offset không bị giới hạn trong một số phút.
ngày giờ. tzname[]If is
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, returns
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, else returns
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False90, raises an exception if the latter doesn’t return
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 or a string object,ngày giờ. timetuple[]
Return a such as returned by
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]52 is equivalent to
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]3
trong đó
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]53 là số ngày trong năm hiện tại bắt đầu bằng
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.05 cho ngày 1 tháng 1. Cờ
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 của kết quả được thiết lập theo phương thức. là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03,
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 được đặt thành
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'04; ngày giờ. utctimetuple[]
Nếu trường hợp d là ngây thơ, thì trường hợp này giống với trường hợp của
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]52 ngoại trừ trường hợp
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 bị buộc về 0 bất kể điều gì mà
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'13 trả về. DST is never in effect for a UTC time
If d is aware, d is normalized to UTC time, by subtracting
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'14, and a for the normalized time is returned.
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 buộc phải 0. Lưu ý rằng an có thể tăng nếu d. năm là
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.04 hoặc
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.08 và sự điều chỉnh của UTC tràn qua ranh giới năm
Warning
Bởi vì các đối tượng
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 ngây thơ được nhiều phương pháp
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 coi là giờ địa phương, nên sử dụng thời gian nhận biết để biểu thị thời gian theo UTC; . Nếu bạn có một
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 ngây thơ đại diện cho UTC, hãy sử dụng
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'24 để làm cho nó biết, tại thời điểm đó bạn có thể sử dụngngày giờ. toordinal[]
Trả về thứ tự Gregorian proleptic của ngày. Giống như
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'26ngày giờ. dấu thời gian[]
Trả về dấu thời gian POSIX tương ứng với phiên bản. The return value is a similar to that returned by
Naive instances are assumed to represent local time and this method relies on the platform C
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'31 function to perform the conversion. Vì hỗ trợ phạm vi giá trị rộng hơn
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'31 trên nhiều nền tảng nên phương pháp này có thể tăng trong thời gian xa trong quá khứ hoặc xa trong tương lai
Đối với các trường hợp nhận biết, giá trị trả về được tính là
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]4
Mới trong phiên bản 3. 3
Đã thay đổi trong phiên bản 3. 6. The method uses the attribute to disambiguate the times during a repeated interval.
Note
There is no method to obtain the POSIX timestamp directly from a naive instance representing UTC time. Nếu ứng dụng của bạn sử dụng quy ước này và múi giờ hệ thống của bạn không được đặt thành UTC, thì bạn có thể lấy dấu thời gian POSIX bằng cách cung cấp
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'39
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]5
or by calculating the timestamp directly
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]6datetime. ngày trong tuần[]
Return the day of the week as an integer, where Monday is 0 and Sunday is 6. The same as
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'40. Xem thêmngày giờ. ngày trong tuần[]
Trả về ngày trong tuần dưới dạng số nguyên, trong đó Thứ Hai là 1 và Chủ nhật là 7. Giống như
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'42. Xem thêm ,datetime. isocalendar[]
Trả về a với ba thành phần.
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]1,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]63 và
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]64. Giống như
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'48ngày giờ. isoformat[sep=', timespec='auto']
Trả về một chuỗi biểu thị ngày và giờ ở định dạng ISO 8601
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
49, nếu không phải là 0>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
51, nếu là 0
Nếu không trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, một chuỗi sẽ được thêm vào, tạo ra phần bù UTC
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
55, nếu không phải là 0>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
57, nếu là 0
Examples
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]7
Đối số tùy chọn sep [mặc định
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'59] là dấu phân tách một ký tự, được đặt giữa phần ngày và giờ của kết quả. Ví dụ
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]8
Đối số tùy chọn timespec chỉ định số lượng thành phần bổ sung của thời gian cần đưa vào [mặc định là
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'60]. Nó có thể là một trong những điều sau đây
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
60. Giống như>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
62 nếu là 0, giống như>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
64 nếu không>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
65. Bao gồm ở định dạng hai chữ số>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
67>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
68. Bao gồm và ở định dạng>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
71>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
62. Include , , and in>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
76 format>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
77. Bao gồm toàn thời gian, nhưng cắt ngắn phần thứ hai thành mili giây. Định dạng>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
78>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
64. Bao gồm toàn thời gian ở định dạng>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
80
Note
Các thành phần thời gian bị loại trừ bị cắt bớt, không được làm tròn
sẽ được nâng lên trên một đối số timespec không hợp lệ
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]9
Mới trong phiên bản 3. 6. Đã thêm đối số thông số thời gian.
ngày giờ. __str__[]Đối với trường hợp d,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]66 tương đương với
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'84ngày giờ. ctime[]
Trả về một chuỗi đại diện cho ngày và giờ
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:000
Chuỗi đầu ra sẽ không bao gồm thông tin múi giờ, bất kể đầu vào là nhận biết hay ngây thơ
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]68 is equivalent to
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]4
on platforms where the native C
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]69 function [which invokes, but which does not invoke] conforms to the C standardngày giờ. thời gian chạy[định dạng]
Trả về một chuỗi đại diện cho ngày và giờ, được kiểm soát bởi một chuỗi định dạng rõ ràng. Để biết danh sách đầy đủ các chỉ thị định dạng, hãy xem
ngày giờ. __format__[định dạng]Same as . This makes it possible to specify a format string for a object in and when using . For a complete list of formatting directives, see
Examples of Usage.
Ví dụ về làm việc với các đối tượng
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:002
Ví dụ bên dưới định nghĩa một lớp con thu thập thông tin múi giờ cho Kabul, Afghanistan, sử dụng +4 UTC cho đến năm 1945 và sau đó là +4. 30 UTC sau đó
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:003
Cách sử dụng của
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'95 từ phía trên
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:004
Các đối tượng
Một đối tượng đại diện cho thời gian [cục bộ] trong ngày, không phụ thuộc vào bất kỳ ngày cụ thể nào và có thể điều chỉnh thông qua một đối tượng
lớp ngày giờ. time[hour=0 , minute=0 , second=0 , microsecond=0 , tzinfo=None , * , fold=0]All arguments are optional. tzinfo có thể là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc một thể hiện của lớp con. The remaining arguments must be integers in the following ranges
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
90,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
91,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
92,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
93,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
94
Nếu một đối số bên ngoài các phạm vi được đưa ra, được nâng lên. Tất cả mặc định là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]14 ngoại trừ tzinfo, mặc định là
Class attributes
thời gian. phútĐại diện sớm nhất,
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.010thời gian. tối đa
Đại diện mới nhất ,
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.012thời gian. độ phân giải
Sự khác biệt nhỏ nhất có thể giữa các đối tượng không bằng nhau,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]24, mặc dù lưu ý rằng số học trên các đối tượng không được hỗ trợ
Thuộc tính phiên bản [chỉ đọc]
thời gian. giờIn
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0096thời gian. minute
In
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097thời gian. second
In
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097thời gian. microsecond
In
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0099thời gian. tzinfo
The object passed as the tzinfo argument to the constructor, or
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 if none was passedthời gian. gấp
In
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False02. Used to disambiguate wall times during a repeated interval. [A repeated interval occurs when clocks are rolled back at the end of daylight saving time or when the UTC offset for the current zone is decreased for political reasons. ] The value 0 [1] represents the earlier [later] of the two moments with the same wall time representation
New in version 3. 6
các đối tượng hỗ trợ so sánh với , trong đó a được coi là nhỏ hơn b khi a đứng trước b về thời gian. Nếu một so sánh là ngây thơ và người kia nhận thức được, sẽ được nâng lên nếu cố gắng so sánh thứ tự. Để so sánh bình đẳng, các trường hợp ngây thơ không bao giờ bằng các trường hợp nhận thức
Nếu cả hai đối tượng so sánh đều nhận biết và có cùng thuộc tính, thuộc tính chung sẽ bị bỏ qua và thời gian cơ sở được so sánh. Nếu cả hai bộ so sánh đều nhận biết và có các thuộc tính khác nhau, thì các bộ so sánh trước tiên được điều chỉnh bằng cách trừ đi độ lệch UTC của chúng [thu được từ
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False30]. Để ngăn các so sánh kiểu hỗn hợp quay trở lại so sánh mặc định theo địa chỉ đối tượng, khi một đối tượng được so sánh với một đối tượng thuộc loại khác, sẽ được nâng lên trừ khi phép so sánh là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]75 hoặc
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]76. Các trường hợp sau trả về hoặc , tương ứng
Changed in version 3. 3. Equality comparisons between aware and naive instances don’t raise .
Trong ngữ cảnh Boolean, một đối tượng luôn được coi là đúng
Đã thay đổi trong phiên bản 3. 5. Trước Python 3. 5, a object was considered to be false if it represented midnight in UTC. Hành vi này được coi là tối nghĩa và dễ bị lỗi và đã bị xóa trong Python 3. 5. Xem bpo-13936 để biết chi tiết đầy đủ.
nhà xây dựng khác
phương pháp phân lớp thời gian. fromisoformat[time_string]Trả về một tương ứng với một time_string ở bất kỳ định dạng ISO 8601 hợp lệ nào, với các ngoại lệ sau
Time zone offsets may have fractional seconds
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:00
80 ở đầu, thường được yêu cầu trong trường hợp có thể có sự không rõ ràng giữa ngày và giờ, không bắt buộcPhân số giây có thể có bất kỳ số lượng chữ số nào [bất kỳ số nào vượt quá 6 sẽ bị cắt ngắn]
Fractional hours and minutes are not supported
Examples
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:005
Mới trong phiên bản 3. 7
Đã thay đổi trong phiên bản 3. 11. Trước đây, phương pháp này chỉ hỗ trợ các định dạng có thể được phát ra bởi.
Phương thức sơ thẩm
thời gian. thay thế[giờ=chính mình. giờ , phút=chính mình. phút , giây=chính mình. giây , micro giây=chính mình. micro giây , tzinfo=self. tzinfo , * , gấp=0]Return a with the same value, except for those attributes given new values by whichever keyword arguments are specified. Note that
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False52 can be specified to create a naive from an aware , without conversion of the time data
New in version 3. 6. Added the
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]96 argument. thời gian. isoformat[timespec=']
Return a string representing the time in ISO 8601 format, one of
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
80, if is not 0>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
76, nếu là 0>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.0
53, nếu không trả lại>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
03>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.0
56, nếu là 0 và không trả về>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
03
Đối số tùy chọn timespec chỉ định số lượng thành phần bổ sung của thời gian cần đưa vào [mặc định là
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'60]. Nó có thể là một trong những điều sau đây
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
60. Giống như>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
62 nếu là 0, giống như>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
64 nếu không>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
65. Bao gồm ở định dạng hai chữ số>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
67>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
68. Bao gồm và ở định dạng>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
71>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
62. Include , , and in>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
76 format>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
77. Bao gồm toàn thời gian, nhưng cắt ngắn phần thứ hai thành mili giây. Định dạng>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
78>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
64. Bao gồm toàn thời gian ở định dạng>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
80
Note
Các thành phần thời gian bị loại trừ bị cắt bớt, không được làm tròn
sẽ được nâng lên trên một đối số timespec không hợp lệ
Thí dụ
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:006
Mới trong phiên bản 3. 6. Đã thêm đối số thông số thời gian.
thời gian. __str__[]Trong thời gian t,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]55 tương đương với
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.083thời gian. thời gian chạy[định dạng]
Trả về một chuỗi đại diện cho thời gian, được kiểm soát bởi một chuỗi định dạng rõ ràng. Để biết danh sách đầy đủ các chỉ thị định dạng, hãy xem
thời gian. __format__[định dạng]Same as . This makes it possible to specify a format string for a object in and when using . For a complete list of formatting directives, see
thời gian. utcoffset[]Nếu là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, nếu không thì trả về
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.090 và đưa ra một ngoại lệ nếu cái sau không trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc một đối tượng có cường độ nhỏ hơn một ngày
Đã thay đổi trong phiên bản 3. 7. Phần bù UTC không bị giới hạn trong một số nguyên của phút.
thời gian. dst[]Nếu là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, nếu không thì trả về
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.096 và đưa ra một ngoại lệ nếu cái sau không trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc một đối tượng có cường độ nhỏ hơn một ngày
Đã thay đổi trong phiên bản 3. 7. DST offset không bị giới hạn trong một số phút.
thời gian. tzname[]Nếu là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, ngược lại trả về
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]02 hoặc đưa ra một ngoại lệ nếu cái sau không trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc một đối tượng chuỗi
Examples of Usage.
Ví dụ làm việc với đối tượng
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:007
Các đối tượng
class datetime. tzinfoĐây là một lớp cơ sở trừu tượng, có nghĩa là lớp này không được khởi tạo trực tiếp. Xác định một lớp con của để nắm bắt thông tin về một múi giờ cụ thể
Một thể hiện của [một lớp con cụ thể của] có thể được truyền cho các hàm tạo cho và các đối tượng. Các đối tượng thứ hai xem các thuộc tính của chúng là theo giờ địa phương và đối tượng hỗ trợ các phương thức hiển thị phần bù giờ địa phương từ UTC, tên của múi giờ và phần bù DST, tất cả đều liên quan đến đối tượng ngày hoặc giờ được truyền cho chúng
Bạn cần lấy được một lớp con cụ thể và [ít nhất] cung cấp các triển khai của các phương thức tiêu chuẩn cần thiết cho các phương thức bạn sử dụng. Mô-đun cung cấp , một phân lớp cụ thể đơn giản trong đó có thể biểu thị các múi giờ với phần bù cố định từ UTC, chẳng hạn như chính UTC hoặc EST và EDT của Bắc Mỹ
Yêu cầu đặc biệt đối với dưa chua. Một lớp con phải có một phương thức
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]18 có thể được gọi mà không có đối số, nếu không, nó có thể được chọn nhưng có thể không được giải nén lại. Đây là yêu cầu kỹ thuật có thể được nới lỏng trong tương lai
Một lớp con cụ thể của có thể cần phải thực hiện các phương pháp sau. Chính xác những phương pháp nào là cần thiết phụ thuộc vào việc sử dụng các đối tượng nhận biết. Nếu nghi ngờ, chỉ cần thực hiện tất cả chúng
tzinfo. utcoffset[dt]Trả về phần bù của giờ địa phương từ UTC, dưới dạng một đối tượng dương ở phía đông của UTC. Nếu giờ địa phương ở phía tây của UTC, điều này sẽ là âm
Điều này thể hiện tổng phần bù từ UTC; . Nếu không biết phần bù UTC, hãy trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03. Mặt khác, giá trị được trả về phải là một đối tượng nằm trong khoảng từ
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]26 đến
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]27 [độ lớn của phần bù phải nhỏ hơn một ngày]. Hầu hết các triển khai có thể sẽ giống như một trong hai
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:008
Nếu không trả lại
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03, thì cũng không nên trả lại
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03
Việc thực hiện tăng mặc định
Đã thay đổi trong phiên bản 3. 7. Phần bù UTC không bị giới hạn trong một số nguyên của phút.
tzinfo. dst[dt]Trả lại điều chỉnh thời gian tiết kiệm ánh sáng ban ngày [DST], dưới dạng đối tượng hoặc
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 nếu thông tin DST không được biết
Trả lại
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]83 nếu DST không có hiệu lực. Nếu DST có hiệu lực, hãy trả lại phần bù dưới dạng đối tượng [xem để biết chi tiết]. Lưu ý rằng phần bù DST, nếu có, đã được thêm vào phần bù UTC được trả về bởi , do đó, không cần tham khảo trừ khi bạn muốn nhận thông tin DST riêng. Ví dụ: gọi phương thức thuộc tính của nó để xác định cách đặt cờ
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 và gọi để giải thích cho các thay đổi DST khi vượt qua các múi giờ
Một thể hiện tz của một lớp con mô hình hóa cả thời gian tiêu chuẩn và thời gian ban ngày phải nhất quán theo nghĩa này
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]49
phải trả về cùng một kết quả cho mọi dt với
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]51 Đối với các lớp con lành mạnh, biểu thức này mang lại "độ lệch chuẩn" của múi giờ, không phụ thuộc vào ngày hoặc giờ mà chỉ phụ thuộc vào vị trí địa lý. Việc thực hiện ỷ lại vào việc này nhưng không phát hiện được vi phạm; . Nếu một lớp con không thể đảm bảo điều này, thì nó có thể ghi đè cài đặt mặc định của để hoạt động chính xác với
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False72 bất kể
Most implementations of will probably look like one of these two
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:009
or
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False0
Việc thực hiện tăng mặc định
Đã thay đổi trong phiên bản 3. 7. DST offset không bị giới hạn trong một số phút.
tzinfo. tzname[dt]Trả về tên múi giờ tương ứng với đối tượng dt, dưới dạng chuỗi. Nothing about string names is defined by the module, and there’s no requirement that it mean anything in particular. Ví dụ: “GMT”, “UTC”, “-500”, “-5. 00”, “EDT”, “US/Eastern”, “America/New York” đều là những câu trả lời hợp lệ. Trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 nếu không biết tên chuỗi. Lưu ý rằng đây chủ yếu là một phương thức chứ không phải là một chuỗi cố định vì một số lớp con sẽ muốn trả về các tên khác nhau tùy thuộc vào giá trị cụ thể của dt được truyền, đặc biệt nếu lớp đó đang tính thời gian ban ngày
Việc thực hiện tăng mặc định
Các phương thức này được gọi bởi một hoặc đối tượng, để đáp lại các phương thức cùng tên của chúng. A object passes itself as the argument, and a object passes
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 as the argument. Do đó, các phương thức của lớp con nên được chuẩn bị để chấp nhận đối số dt của
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 hoặc của lớp
Khi
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 được thông qua, người thiết kế lớp sẽ quyết định câu trả lời tốt nhất. For example, returning
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03 is appropriate if the class wishes to say that time objects don’t participate in the protocols. Có thể hữu ích hơn khi
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]78 trả về phần bù UTC tiêu chuẩn, vì không có quy ước nào khác để khám phá phần bù tiêu chuẩn
Khi một đối tượng được truyền để phản hồi lại một phương thức, thì
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]81 chính là đối tượng như self. các phương thức có thể dựa vào điều này, trừ khi mã người dùng gọi trực tiếp các phương thức. Mục đích là các phương thức diễn giải dt theo giờ địa phương và không cần lo lắng về các đối tượng trong các múi giờ khác
There is one more method that a subclass may wish to override
tzinfo. từutc[dt]Điều này được gọi từ việc thực hiện mặc định. Khi được gọi từ đó,
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]81 là chính nó và dữ liệu ngày và giờ của dt sẽ được xem là thể hiện thời gian UTC. Mục đích của là điều chỉnh dữ liệu ngày và giờ, trả về một ngày giờ tương đương theo giờ địa phương của chính bạn
Hầu hết các lớp con sẽ có thể kế thừa việc triển khai mặc định mà không gặp sự cố. Nó đủ mạnh để xử lý các múi giờ có độ lệch cố định và các múi giờ tính cả thời gian tiêu chuẩn và thời gian ban ngày, và cả thời gian sau ngay cả khi thời gian chuyển đổi DST khác nhau trong các năm khác nhau. An example of a time zone the default implementation may not handle correctly in all cases is one where the standard offset [from UTC] depends on the specific date and time passed, which can happen for political reasons. Việc triển khai mặc định của
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False72 và có thể không tạo ra kết quả như bạn muốn nếu kết quả là một trong những giờ diễn ra vào thời điểm bù tiêu chuẩn thay đổi
Bỏ qua mã cho các trường hợp lỗi, việc triển khai mặc định hoạt động như
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False1
Trong tệp
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]95 sau đây có một số ví dụ về các lớp
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False2
Lưu ý rằng có những sự tinh tế không thể tránh khỏi hai lần mỗi năm trong một phân lớp chiếm cả thời gian tiêu chuẩn và thời gian ban ngày, tại các điểm chuyển tiếp DST. Để cụ thể, hãy xem xét Miền Đông Hoa Kỳ [UTC -0500], nơi EDT bắt đầu sau 1 phút. 59 [EST] vào Chủ nhật thứ hai của tháng 3 và kết thúc vào phút sau 1. 59 [EDT] vào Chủ nhật đầu tiên của tháng 11
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False3
Khi DST bắt đầu [dòng “bắt đầu”], đồng hồ treo tường địa phương nhảy từ 1. 59 đến 3. 00. Một bức tường thời gian của mẫu 2. MM không thực sự có ý nghĩa vào ngày đó, vì vậy
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]98 sẽ không mang lại kết quả với
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]99 vào ngày DST bắt đầu. Ví dụ: tại chuyển tiếp mùa xuân năm 2016, chúng tôi nhận được
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False4
Khi DST kết thúc [dòng “kết thúc”], có khả năng xảy ra sự cố tồi tệ hơn. có một giờ không thể đánh vần rõ ràng theo giờ địa phương. giờ cuối cùng của thời gian ban ngày. Ở phương Đông, đó là thời gian của mẫu 5. MM UTC on the day daylight time ends. Đồng hồ treo tường địa phương nhảy từ 1. 59 [thời gian ban ngày] trở lại 1. 00 [giờ chuẩn] lại. Giờ địa phương của mẫu 1. MM không rõ ràng.
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False72 bắt chước hành vi của đồng hồ địa phương bằng cách ánh xạ hai giờ UTC liền kề vào cùng một giờ địa phương sau đó. Trong ví dụ phương Đông, thời gian UTC có dạng 5. MM và 6. MM cả ánh xạ tới 1. MM khi được chuyển đổi sang phương Đông, nhưng các lần trước thuộc tính được đặt thành 0 và các lần sau thuộc tính được đặt thành 1. Ví dụ: tại Fall back transition năm 2016, chúng tôi nhận được
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False5
Lưu ý rằng các trường hợp chỉ khác nhau về giá trị của thuộc tính được coi là bằng nhau khi so sánh
Các ứng dụng không thể chịu được sự mơ hồ về thời gian nên kiểm tra rõ ràng giá trị của thuộc tính hoặc tránh sử dụng các lớp con kết hợp;
Xem thêm
Cơ sở dữ liệu múi giờ IANAMô-đun có một lớp cơ bản [để xử lý các giá trị bù trừ cố định tùy ý từ UTC] và thuộc tính của nó [một thể hiện múi giờ UTC]
>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'1 mang cơ sở dữ liệu múi giờ IANA [còn được gọi là cơ sở dữ liệu Olson] cho Python và việc sử dụng cơ sở dữ liệu này được khuyến nghị
Cơ sở dữ liệu múi giờ [thường được gọi là tz, tzdata hoặc zoneinfo] chứa mã và dữ liệu biểu thị lịch sử giờ địa phương cho nhiều vị trí đại diện trên toàn cầu. Nó được cập nhật định kỳ để phản ánh những thay đổi do các cơ quan chính trị thực hiện đối với ranh giới múi giờ, độ lệch UTC và quy tắc tiết kiệm ánh sáng ban ngày
Các đối tượng
Lớp này là một lớp con của , mỗi phiên bản đại diện cho một múi giờ được xác định bởi một phần bù cố định từ UTC
Các đối tượng của lớp này không thể được sử dụng để biểu thị thông tin múi giờ ở những vị trí sử dụng các độ lệch khác nhau trong các ngày khác nhau trong năm hoặc khi các thay đổi lịch sử đã được thực hiện đối với thời gian dân sự
lớp ngày giờ. múi giờ[độ lệch , tên=None]Đối số offset phải được chỉ định làm đối tượng biểu thị sự khác biệt giữa giờ địa phương và UTC. Nó phải hoàn toàn nằm trong khoảng từ
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]26 đến
>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]27, nếu không sẽ được nâng lên
Đối số tên là tùy chọn. Nếu được chỉ định, nó phải là một chuỗi sẽ được sử dụng làm giá trị được trả về bởi phương thức
New in version 3. 2
Đã thay đổi trong phiên bản 3. 7. Phần bù UTC không bị giới hạn trong một số nguyên của phút.
múi giờ. utcoffset[dt]Trả về giá trị cố định được chỉ định khi phiên bản được tạo
Đối số dt bị bỏ qua. Giá trị trả về là một ví dụ bằng với sự khác biệt giữa giờ địa phương và UTC
Đã thay đổi trong phiên bản 3. 7. Phần bù UTC không bị giới hạn trong một số nguyên của phút.
múi giờ. tzname[dt]Trả về giá trị cố định được chỉ định khi phiên bản được tạo
Nếu tên không được cung cấp trong hàm tạo, tên được trả về bởi
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]24 được tạo từ giá trị của
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]25 như sau. Nếu độ lệch là
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]83, tên là “UTC”, nếu không, nó là một chuỗi ở định dạng
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]27, trong đó ± là dấu của
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]25, HH và MM lần lượt là hai chữ số của
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]29 và
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]30
Đã thay đổi trong phiên bản 3. 6. Tên được tạo từ
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]31 bây giờ là
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]32 đơn giản, không phải là
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]33. múi giờ. dst[dt]
Luôn trả về
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]03múi giờ. từutc[dt]
Trả lại
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]35. Đối số dt phải là một trường hợp có nhận biết, với ___________4 được đặt thành ____75_______38
Class attributes
múi giờ. utcMúi giờ UTC,
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]39
>>> from datetime import date
>>> date.fromisoformat['2019-12-04']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['20191204']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['2021-W01-1']
datetime.date[2021, 1, 4]
40 và >>> from datetime import date
>>> date.fromisoformat['2019-12-04']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['20191204']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['2021-W01-1']
datetime.date[2021, 1, 4]
41 Hành vi
, , và các đối tượng đều hỗ trợ phương thức
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]45, để tạo một chuỗi biểu thị thời gian dưới sự kiểm soát của một chuỗi định dạng rõ ràng
Ngược lại, phương thức lớp tạo một đối tượng từ một chuỗi biểu thị ngày giờ và một chuỗi định dạng tương ứng
The table below provides a high-level comparison of
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]40 versus
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]41
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]50
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]51
Cách sử dụng
Chuyển đổi đối tượng thành một chuỗi theo một định dạng nhất định
Phân tích một chuỗi thành một đối tượng có định dạng tương ứng
Loại phương pháp
phương thức sơ thẩm
phương pháp lớp
Phương pháp của
;
Chữ ký
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]45
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]58
>>> from datetime import date
>>> date.fromisoformat['2019-12-04']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['20191204']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['2021-W01-1']
datetime.date[2021, 1, 4]
40 and >>> from datetime import date
>>> date.fromisoformat['2019-12-04']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['20191204']
datetime.date[2019, 12, 4]
>>> date.fromisoformat['2021-W01-1']
datetime.date[2021, 1, 4]
41 Format Codes
Sau đây là danh sách tất cả các mã định dạng mà tiêu chuẩn C 1989 yêu cầu và chúng hoạt động trên tất cả các nền tảng có triển khai C tiêu chuẩn
chỉ thị
Nghĩa
Thí dụ
ghi chú
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]61
Ngày trong tuần là tên viết tắt của ngôn ngữ
CN, Mon, …, Sat [en_US];
So, Mo, …, Sa [de_DE]
[1]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]62
Ngày trong tuần là tên đầy đủ của ngôn ngữ
Chủ Nhật, Thứ Hai, …, Thứ Bảy [en_US];
Sonntag, Montag, …, Samstag [de_DE]
[1]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]63
Ngày trong tuần dưới dạng số thập phân, trong đó 0 là Chủ nhật và 6 là Thứ bảy
0, 1, …, 6
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]64
Ngày trong tháng dưới dạng số thập phân không đệm
01, 02, …, 31
[9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]65
Tháng là tên viết tắt của ngôn ngữ
Tháng 1, Tháng 2, …, Tháng 12 [en_US];
Jan, Feb, …, Dez [de_DE]
[1]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]66
Tháng là tên đầy đủ của ngôn ngữ
Tháng Giêng, Tháng Hai, …, Tháng Mười Hai [en_US];
Januar, Februar, …, Tháng mười hai [de_DE]
[1]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]67
Tháng dưới dạng số thập phân không đệm
01, 02, …, 12
[9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]68
Năm không có thế kỷ dưới dạng số thập phân không đệm
00, 01, …, 99
[9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]69
Năm với thế kỷ dưới dạng số thập phân
0001, 0002, …, 2013, 2014, …, 9998, 9999
[2]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]70
Giờ [đồng hồ 24 giờ] dưới dạng số thập phân không đệm
00, 01, …, 23
[9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]71
Giờ [đồng hồ 12 giờ] dưới dạng số thập phân không đệm
01, 02, …, 12
[9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]72
Locale’s equivalent of either AM or PM
AM, PM [en_US];
sáng, chiều [de_DE]
[1], [3]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]73
Phút dưới dạng số thập phân không đệm
00, 01, …, 59
[9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]74
Thứ hai dưới dạng số thập phân không đệm
00, 01, …, 59
[4], [9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]75
Micro giây dưới dạng số thập phân, được đệm bằng 0 thành 6 chữ số
000000, 000001, …, 999999
[5]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]76
Phần bù UTC ở dạng
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]77 [chuỗi trống nếu đối tượng là ngây thơ]
[trống], +0000, -0400, +1030, +063415, -030712. 345216
[6]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]78
Tên múi giờ [chuỗi trống nếu đối tượng ngây thơ]
[trống], UTC, GMT
[6]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]79
Ngày trong năm dưới dạng số thập phân không đệm
001, 002, …, 366
[9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]80
Số tuần của năm [Chủ nhật là ngày đầu tiên của tuần] dưới dạng số thập phân không đệm. Tất cả các ngày trong một năm mới trước Chủ nhật đầu tiên được coi là trong tuần 0
00, 01, …, 53
[7], [9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]81
Số tuần của năm [Thứ Hai là ngày đầu tiên của tuần] dưới dạng số thập phân không đệm. Tất cả các ngày trong năm mới trước ngày thứ Hai đầu tiên được coi là trong tuần 0
00, 01, …, 53
[7], [9]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]82
Đại diện ngày và giờ thích hợp của ngôn ngữ
Thứ ba 16 tháng 8 21. 30. 00 1988 [vi_Hoa Kỳ];
Di 16 Thg8 21. 30. 00 1988 [de_DE]
[1]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]83
Đại diện ngày thích hợp của địa phương
16/08/88 [Không có];
16/08/1988 [en_US];
16. 08. 1988 [de_DE]
[1]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]84
Đại diện thời gian thích hợp của địa phương
21. 30. 00 [vi_US];
21. 30. 00 [de_DE]
[1]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]85
Một ký tự
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]86 theo nghĩa đen
%
Một số chỉ thị bổ sung không bắt buộc theo tiêu chuẩn C89 được bao gồm để thuận tiện. Tất cả các tham số này đều tương ứng với các giá trị ngày theo tiêu chuẩn ISO 8601
chỉ thị
Nghĩa
Thí dụ
ghi chú
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]87
Năm ISO 8601 với thế kỷ đại diện cho năm chứa phần lớn tuần ISO [
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]88]
0001, 0002, …, 2013, 2014, …, 9998, 9999
[số 8]
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]89
ISO 8601 ngày trong tuần dưới dạng số thập phân trong đó 1 là Thứ Hai
1, 2, …, 7
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]88
ISO 8601 tuần dưới dạng số thập phân với Thứ Hai là ngày đầu tuần. Tuần 01 là tuần có ngày 04/01
01, 02, …, 53
[8], [9]
Những thứ này có thể không khả dụng trên tất cả các nền tảng khi được sử dụng với phương pháp
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]40. Chỉ thị năm và tuần ISO 8601 không thể hoán đổi cho nhau với chỉ thị số năm và tuần ở trên. Gọi
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]41 với các chỉ thị ISO 8601 không đầy đủ hoặc mơ hồ sẽ làm tăng
Bộ mã định dạng đầy đủ được hỗ trợ khác nhau giữa các nền tảng, vì Python gọi hàm
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]40 của thư viện C và các biến thể nền tảng là phổ biến. Để xem toàn bộ mã định dạng được hỗ trợ trên nền tảng của bạn, hãy tham khảo tài liệu strftime[3]. Cũng có sự khác biệt giữa các nền tảng trong việc xử lý các thông số định dạng không được hỗ trợ
Mới trong phiên bản 3. 6. _______75_______87,
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]89 và
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]88 đã được thêm vào.
Chi tiết kỹ thuật
Nói chung,
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]98 hoạt động giống như mô-đun
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]00 mặc dù không phải tất cả các đối tượng đều hỗ trợ phương thức
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]42
Đối với phương thức của lớp, giá trị mặc định là
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]03. bất kỳ thành phần nào không được chỉ định trong chuỗi định dạng sẽ được lấy từ giá trị mặc định.
Sử dụng
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]04 tương đương với
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]1
trừ khi định dạng bao gồm các thành phần giây phụ hoặc thông tin bù múi giờ, được hỗ trợ trong
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]05 nhưng bị loại bỏ bởi
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]06
Đối với các đối tượng, không nên sử dụng các mã định dạng cho năm, tháng và ngày vì các đối tượng không có các giá trị đó. If they’re used anyway,
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]09 is substituted for the year, and
>>> # Components of another_year add up to exactly 365 days >>> from datetime import timedelta >>> year = timedelta[days=365] >>> another_year = timedelta[weeks=40, days=84, hours=23, .. minutes=50, seconds=600] >>> year == another_year True >>> year.total_seconds[] 31536000.05 for the month and day
For objects, the format codes for hours, minutes, seconds, and microseconds should not be used, as objects have no such values. If they’re used anyway,
>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]14 is substituted for them
For the same reason, handling of format strings containing Unicode code points that can’t be represented in the charset of the current locale is also platform-dependent. On some platforms such code points are preserved intact in the output, while on others
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]50 may raise or return an empty string instead
ghi chú
Because the format depends on the current locale, care should be taken when making assumptions about the output value. Field orderings will vary [for example, “month/day/year” versus “day/month/year”], and the output may contain Unicode characters encoded using the locale’s default encoding [for example, if the current locale is
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
16, the default encoding could be any one of>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
17,>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
18, or>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
19; use to determine the current locale’s encoding]Phương pháp
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 có thể phân tích các năm trong phạm vi [1, 9999] đầy đủ, nhưng các năm < 1000 phải được điền bằng 0 để có chiều rộng 4 chữ sốChanged in version 3. 2. In previous versions,
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
40 method was restricted to years >= 1900.Changed in version 3. 3. In version 3. 2,
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
40 method was restricted to years >= 1000.When used with the
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 method, the>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
72 directive only affects the output hour field if the>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
71 directive is used to parse the hourUnlike the module, the module does not support leap seconds
When used with the
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 method, the>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
75 directive accepts from one to six digits and zero pads on the right.>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
75 is an extension to the set of format characters in the C standard [but implemented separately in datetime objects, and therefore always available]For a naive object, the
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
76 and>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
78 format codes are replaced by empty stringsFor an aware object
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
76>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
57 is transformed into a string of the form>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
77, where>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
67 is a 2-digit string giving the number of UTC offset hours,>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
38 is a 2-digit string giving the number of UTC offset minutes,>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
39 is a 2-digit string giving the number of UTC offset seconds and>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
40 is a 6-digit string giving the number of UTC offset microseconds. The>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
40 part is omitted when the offset is a whole number of seconds and both the>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
40 and the>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
39 part is omitted when the offset is a whole number of minutes. For example, if>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
57 returns>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
45,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
76 is replaced with the string>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
47Đã thay đổi trong phiên bản 3. 7. Phần bù UTC không bị giới hạn trong một số nguyên của phút.
Changed in version 3. 7. When the
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
76 directive is provided to the>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 method, the UTC offsets can have a colon as a separator between hours, minutes and seconds. For example,>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
50 will be parsed as an offset of one hour. In addition, providing>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
51 is identical to>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
52.>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
78In
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
40,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
78 is replaced by an empty string if>>> from datetime import timedelta >>> year = timedelta[days=365] >>> ten_years = 10 * year >>> ten_years datetime.timedelta[days=3650] >>> ten_years.days // 365 10 >>> nine_years = ten_years - year >>> nine_years datetime.timedelta[days=3285] >>> three_years = nine_years // 3 >>> three_years, three_years.days // 365 [datetime.timedelta[days=1095], 3]
65 returns>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
03; otherwise>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
78 is replaced by the returned value, which must be a string>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 only accepts certain values for>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
78any value in
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
61 for your machine’s localethe hard-coded values
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
62 and>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
63
So someone living in Japan may have
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
64,>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
62, and>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
63 as valid values, but probably not>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
67. It will raise>>> from datetime import timedelta >>> delta = timedelta[ .. days=50, .. seconds=27, .. microseconds=10, .. milliseconds=29000, .. minutes=5, .. hours=8, .. weeks=2 .. ] >>> # Only days, seconds, and microseconds remain >>> delta datetime.timedelta[days=64, seconds=29156, microseconds=10]
93 for invalid valuesChanged in version 3. 2. When the
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
76 directive is provided to the>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 method, an aware object will be produced. The>>> delta2 > delta1 True >>> delta2 > 5 Traceback [most recent call last]: File "", line 1, in TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
4 of the result will be set to a instance.When used with the
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 method,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
80 and>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
81 are only used in calculations when the day of the week and the calendar year [>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
69] are specifiedSimilar to
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
80 and>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
81,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
88 is only used in calculations when the day of the week and the ISO year [>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
87] are specified in a>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 format string. Also note that>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
87 and>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
69 are not interchangeableWhen used with the
>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
41 method, the leading zero is optional for formats>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
64,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
67,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
70,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
71,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
73,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
74,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
79,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
80,>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
81, and>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
88. Format>>> from datetime import date >>> date.fromisoformat['2019-12-04'] datetime.date[2019, 12, 4] >>> date.fromisoformat['20191204'] datetime.date[2019, 12, 4] >>> date.fromisoformat['2021-W01-1'] datetime.date[2021, 1, 4]
68 does require a leading zero
Footnotes
If, that is, we ignore the effects of Relativity
This matches the definition of the “proleptic Gregorian” calendar in Dershowitz and Reingold’s book Calendrical Calculations, where it’s the base calendar for all computations. See the book for algorithms for converting between proleptic Gregorian ordinals and many other calendar systems