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ô-đunCác chức năng liên quan đến lịch chung
mô-đunThời gian truy cập và chuyển đổi
mô-đunMúi giờ cụ thể đại diện cho cơ sở dữ liệu múi giờ IANA
ngày đóng góiThư viện của bên thứ ba với múi giờ mở rộng và hỗ trợ phân tích cú pháp
Đối tượng nhận thức và ngây thơ
Các đối tượng ngày và giờ có thể được phân loại là "nhận biết" hoặc "ngây thơ" tùy thuộc vào việc chúng có bao gồm thông tin múi giờ hay không
Với kiến thức đầy đủ về các điều chỉnh thời gian chính trị và thuật toán hiện hành, chẳng hạn như múi giờ và thông tin về thời gian tiết kiệm ánh sáng ban ngày, một đối tượng nhận biết có thể định vị chính nó so với các đối tượng nhận biết khác. Một đối tượng nhận thức đại diện cho một thời điểm cụ thể không thể giải thích được.
Một đối tượng ngây thơ không chứa đủ thông tin để định vị chính nó một cách rõ ràng so với các đối tượng ngày/giờ khác. Việc một đối tượng ngây thơ đại diện cho Giờ phối hợp quốc tế [UTC], giờ địa phương hay thời gian ở một số múi giờ khác hoàn toàn phụ thuộc vào chương trình, giống như việc một số cụ thể đại diện cho mét, dặm hay khối lượng là tùy thuộc vào chương trình. Các đối tượng ngây thơ dễ hiểu và dễ làm việc với cái giá phải trả là bỏ qua một số khía cạnh của thực tế
Đối với các ứng dụng yêu cầu các đối tượng nhận biết và các đối tượng có thuộc tính thông tin múi giờ tùy chọ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'4, có thể được đặt thành một thể hiện của một lớp con của lớp trừu tượng. Các đối tượng này nắm bắt thông tin về phần bù từ thời gian UTC, tên múi giờ và liệu thời gian tiết kiệm ánh sáng ban ngày có hiệu lực hay không
Chỉ có một lớp cụ thể, lớp, được cung cấp bởi mô-đun. Lớp này có thể biểu thị các múi giờ đơn giản với độ lệch cố định từ UTC, chẳng hạn như chính UTC hoặc các múi giờ EST và EDT của Bắc Mỹ. Hỗ trợ các múi giờ ở mức độ chi tiết sâu hơn tùy thuộc vào ứng dụng. Các quy tắc điều chỉnh thời gian trên toàn thế giới mang tính chính trị hơn là hợp lý, thay đổi thường xuyên và không có tiêu chuẩn nào phù hợp cho mọi ứng dụng ngoài UTC
hằng số
Mô-đun xuất các hằng số sau
ngày giờ. MIN NĂMSố năm nhỏ nhất được phép trong một hoặc đối tượng. 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.05ngày giờ. TỐI ĐA NĂM
Số năm lớn nhất được phép trong một hoặc đối tượng. 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.09ngày giờ. UTC
Bí danh cho múi giờ UTC đơn lẻ
Mới trong phiên bản 3. 11
Các loại có sẵn
lớp ngày giờ. ngàyMột ngày ngây thơ được lý tưởng hóa, giả sử rằng lịch Gregorian hiện tại luôn có hiệu lực. Thuộc tính. , , và
lớp ngày giờ. thời gianThời gian lý tưởng hóa, không phụ thuộc vào bất kỳ ngày cụ thể nào, giả sử rằng mỗi ngày có chính xác 24*60*60 giây. [Không có khái niệm “giây nhuận” ở đây. ] Thuộc tính. , , , , và
lớp ngày giờ. ngày giờMột sự kết hợp của một ngày và một thời gian. Thuộc tính. , , , , , , , và
lớp ngày giờ. đồng hồ thời gianKhoảng thời gian thể hiện sự khác biệt giữa hai , hoặc phiên bản đối với độ phân giải micro giây
lớp ngày giờ. tzinfoMột lớp cơ sở trừu tượng cho các đối tượng thông tin múi giờ. Chúng được sử dụng bởi các lớp và để cung cấp khái niệm điều chỉnh thời gian có thể tùy chỉnh [ví dụ: để tính múi giờ và/hoặc thời gian tiết kiệm ánh sáng ban ngày]
lớp ngày giờ. múi giờMột lớp triển khai lớp cơ sở trừu tượng dưới dạng phần bù cố định từ UTC
Mới trong phiên bản 3. 2
Các đối tượng của các loại này là bất biến
quan hệ phân lớp
object timedelta tzinfo timezone time date datetime
Tài sản chung
, , và các loại chia sẻ các tính năng phổ biến này
Các đối tượng của các loại này là bất biến
Các đối tượng thuộc loại này có thể băm được, nghĩa là chúng có thể được sử dụng làm khóa từ điển
Các đối tượng thuộc loại này hỗ trợ tẩy hiệu quả thông qua mô-đun
Xác định xem một đối tượng là Aware hay Naive
Các đối tượng thuộc loại luôn ngây thơ
Một đối tượng thuộc loại hoặc có thể nhận thức hoặc ngây thơ
Một đối tượng d nhận biết nếu cả hai điều sau đây đều đú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]
02 không phải 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>>> 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 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
Mặt khác, d là ngây thơ
Một đối tượng t nhận biết nếu cả hai điều sau đây giữ
>>> 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 không phải 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>>> 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 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
Nếu không, t là ngây thơ
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 từ 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
Lưu ý rằng việc chuẩn hóa các giá trị âm lúc đầu có thể gây ngạc nhiên. Ví dụ
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
Thuộc tính lớp
đồng bằng thời gian. phútĐối tượng tiêu cực nhấ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]20đồng bằng thời gian. tối đa
Đối tượng tích cực nhấ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]22đồng bằng thờ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
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. Afterwards t1-t2 == t3 and t1-t3 == t2 are true. [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
Difference of t2 and t3. Afterwards t1 == t2 - t3 and t2 == t1 + t3 are true. [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 multiplied by an integer. Afterwards t1 // i == t2 is true, provided
>>> 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
In general, t1 * i == t1 * [i-1] + t1 is true. [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 multiplied by a float. The result is rounded to the nearest multiple of timedelta. resolution using round-half-to-even
>>> 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
Division [3] of overall duration t2 by interval unit t3. Returns a 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]39
Delta divided by a float or an int. The result is rounded to the nearest multiple of timedelta. resolution using round-half-to-even
>>> 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 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]41
The floor is computed and the remainder [if any] is thrown away. In the second case, an integer is returned. [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
The remainder is computed as a object. [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
Computes the quotient and the remainder.
>>> 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] and
>>> 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 is an integer and r is a 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]48
Returns a object with the same value. [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
equivalent to [-t1. days, -t1. seconds, -t1. microseconds], and to 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
equivalent to +t when
>>> 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, and to -t when
>>> 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
Returns a string in the form
>>> 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, where D is negative for negative
>>> 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
Returns a string representation of the object as a constructor call with canonical attribute values
Notes
This is exact but may overflow
This is exact and cannot overflow
Division by 0 raises
-timedelta. max is not representable as a object
String representations of objects are normalized similarly to their internal representation. This leads to somewhat unusual results for negative timedeltas. For example
>>> 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;
Ngoài các hoạt động được liệt kê ở trên, các đối tượng hỗ trợ một số phép cộng và phép trừ với và đối tượng [xem bên dưới]
Đã 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
Mới trong phiên bản 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
Thuộc tính lớp
ngày. 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]
Notes
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
Nói cách khác,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
25 khi và chỉ khi>>> 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. Tuy nhiên, thay vào đó,>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
41 được trả về nếu đối tượng so sánh khác có thuộc tính>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
42. 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. tháng , ngày=chính mình. ngày]Trả về một ngày có cùng giá trị, ngoại trừ các tham số được cung cấp giá trị mới theo bất kỳ đối số từ khóa nào được chỉ định
Thí dụ
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]ngày. thời gian[]
Trả lại một chẳng hạn như được trả lại bởi
Giờ, phút và giây là 0 và cờ DST là -1
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]52 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]0
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 1ngày. bình thường[]
Trả về thứ tự Gregorian proleptic của ngày, trong đó ngày 1 tháng 1 của năm 1 có thứ tự 1. Đối với bất kỳ đối tượng d,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]09ngày. ngày trong tuần[]
Trả về ngày trong tuần dưới dạng số nguyên, trong đó Thứ Hai là 0 và Chủ Nhật là 6. Ví dụ,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]57, Thứ Tư. Xem thêmngày. 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. Ví dụ,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]59, Thứ Tư. Xem thêm ,ngày. isocalendar[]
Trả về một đối tượng có 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
Lịch ISO là một biến thể được sử dụng rộng rãi của lịch Gregorian.
Năm ISO bao gồm 52 hoặc 53 tuần đầy đủ và trong đó một tuần bắt đầu vào Thứ Hai và kết thúc vào Chủ nhật. Tuần đầu tiên của một năm ISO là tuần dương lịch [Gregorian] đầu tiên của một năm có ngày thứ Năm. Đây được gọi là tuần số 1 và năm ISO của ngày thứ Năm đó giống với năm Gregorian của nó
Ví dụ: năm 2004 bắt đầu vào Thứ Năm, vì vậy tuần đầu tiên của năm ISO 2004 bắt đầu vào Thứ Hai, ngày 29 tháng 12 năm 2003 và kết thúc vào Chủ Nhật, ngày 4 tháng 1 năm 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
Đã thay đổi trong phiên bản 3. 9. Kết quả đã thay đổi từ một bộ thành một.
ngày. isoformat[]Trả về một chuỗi đại diện cho ngày ở định dạng ISO 8601,
>>> 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]2ngày. __str__[]
Đối với một ngày d,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]66 tương đương với
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]67ngày. thời gian[]
Trả về một chuỗi đại diện cho 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]3
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]68 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]4
trên các nền tảng có chức năng C
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]69 gốc [gọi, nhưng không gọi] tuân theo tiêu chuẩn Cngày. thời gian chạy[định dạng]
Trả về một chuỗi đại diện cho ngày, được kiểm soát bởi một chuỗi định dạng rõ ràng. Mã định dạng đề cập đến giờ, phút hoặc giây sẽ thấy 0 giá trị. Để biết danh sách đầy đủ các chỉ thị định dạng, hãy xem
ngày. __format__[định dạng]Giống như. Điều này giúp có thể chỉ định một chuỗi định dạng cho một đối tượng trong và khi sử dụng. Để biết danh sách đầy đủ các chỉ thị định dạng, hãy xem
Ví dụ về cách sử dụng.
Ví dụ về đếm số ngày đến một sự kiệ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]5
Thêm ví dụ về làm việc 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]6
Các đối tượng
Một đối tượng là một đối tượng duy nhất chứa tất cả thông tin từ một đối tượng và một đối tượng
Giống như một đối tượng, giả sử lịch Gregorian hiện tại được mở rộng theo cả hai hướng;
Hàm tạo
lớp ngày giờ. ngày giờ[năm , tháng, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0]Các đối số năm, tháng và ngày là bắt buộc. 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. Các đối số còn lại 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,>>> 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
Mới trong phiên bản 3. 6. Đã thêm đối số
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]96.
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 giờ. hôm nay[]Trả về ngày giờ địa phương hiện tại, 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
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]7
Xem thêm ,
Phương thức này có chức năng tương đương với , nhưng không có tham số
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0002classmethod datetime. bây giờ[tz=Không]
Trả về ngày và giờ địa phương hiện tại
Nếu đối số tùy chọn tz 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 không được chỉ định, thì điều này giống như , nhưng, nếu có thể, cung cấp độ chính xác cao hơn mức có thể nhận được từ việc xem xét dấu thời gian [ví dụ: điều này có thể thực hiện được trên các nền tảng cung cấp hàm C
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0006]
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]
Trả về ngày và giờ cục bộ tương ứng với dấu thời gian POSIX, chẳng hạn như được trả về bởi. Nếu đối số tùy chọn tz 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 không được chỉ định, thì dấu thời gian được chuyển đổi thành ngày giờ địa phương của nền tảng và đối tượng được trả về là ngây thơ
Nếu tz không phải 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, nó phải là một thể hiện của một lớp con và dấu thời gian được chuyển đổi thành múi giờ của tz
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 bởi , 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. Điều này thường bị giới hạn trong các năm từ 1970 đến 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
Trên nền tảng tuân thủ POSIX, nó tương đương với biểu thức 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]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. 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
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0028 của nền tảng. 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ờ. từ thứ tự[thứ tự]
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]
Trả về một đối tượng mới có các thành phần ngày bằng với đối tượng đã cho và có thành phần thời gian bằng với đối tượng đã cho. 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. Nếu ngày là một đối tượng, các thành phần và thuộc tính thời gian của nó sẽ bị bỏ qua
Đã thay đổi trong phiên bản 3. 6. Đã thêm đối số tzinfo.
phương thức lớp ngày giờ. fromisoformat[date_string]Trả về một tương ứng với một chuỗi ngày ở bất kỳ định dạng ISO 8601 hợp lệ nào, với các ngoại lệ sau
Độ lệch múi giờ có thể có giây phân số
Dấu phân cách
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:00
80 có thể được thay thế bằng bất kỳ ký tự unicode nàoNgày thứ tự hiện không được hỗ trợ
Giờ và phút phân số không được hỗ trợ
ví dụ
>>> 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
Đã 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 hoặc.
phương thức lớp ngày giờ. 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. Các thành phần không phải ngày tháng của ngày giờ được điền bằng các giá trị mặc định bình thường của chúng. Đây là nghịch đảo của hàm
Mới trong phiên bản 3. 8
phương thức lớp ngày giờ. strptime[date_string , định dạng]Trả về tương ứng với date_string, được phân tích cú pháp theo định dạng
Điều này tương đương với
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]1
được nâng lên nếu không thể phân tích cú pháp chuỗi ngày và định dạng hoặc nếu nó trả về một giá trị không phải là bộ thời gian. Để biết danh sách đầy đủ các chỉ thị định dạng, hãy xem
Thuộc tính lớp
ngày giờ. phútĐại diện sớm nhất ,
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0089ngày giờ. tối đa
Đại diện mới nhất ,
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0091ngày giờ. độ 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
Thuộc tính phiên bản [chỉ đọc]
ngày giờ. nămGiữa và bao gồm
ngày giờ. thángTừ 1 đến 12 bao gồm
ngày giờ. ngàyGiữa 1 và số ngày trong tháng nhất định của năm nhất định
ngày giờ. giờTrong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0096ngày giờ. phút
Trong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097ngày giờ. giây
Trong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097ngày giờ. micro giây
Trong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0099ngày giờ. tzinfo
Đối tượng được truyền dưới dạng đối số tzinfo cho hàm tạo 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 không có đối số nào được truyềnngày giờ. gấp
Trong
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False02. Được sử dụng để phân biệt thời gian tường trong một khoảng thời gian lặp lại. [Một khoảng thời gian lặp lại xảy ra khi đồng hồ được lùi lại vào cuối giờ tiết kiệm ánh sáng ban ngày hoặc khi độ lệch UTC cho vùng hiện tại bị giảm vì lý do chính trị. ] Giá trị 0 [1] thể hiện sớm hơn [muộn hơn] của hai thời điểm có cùng biểu diễn thời gian tường
Mới trong phiên bản 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
So sánh với. [4]
datetime2 là khoảng thời gian của timedelta bị xóa khỏi datetime1, tiến về phía trước nếu
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
21 > 0 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]
21 < 0. Kết quả có cùng thuộc tính với datetime đầu vào và datetime2 - datetime1 == timedelta sau. được nâng lên nếu datetime2. năm sẽ nhỏ hơn hoặc lớn hơn. Lưu ý rằng không có điều chỉnh múi giờ nào được thực hiện ngay cả khi đầu vào là một đối tượng nhận biếtTính datetime2 sao cho datetime2 + timedelta == datetime1. Ngoài ra, kết quả có cùng thuộc tính với ngày giờ đầu vào và không có điều chỉnh múi giờ nào được thực hiện ngay cả khi đầu vào biết
Phép trừ a từ a chỉ được xác định nếu cả hai toán hạng đều ngây thơ hoặc nếu cả hai đều biết. Nếu một người nhận thức được và người kia ngây thơ, được nuôi dưỡng
Nếu cả hai đều ngây thơ hoặc cả hai đều nhận thức được và có cùng một thuộc tính, các thuộc tính sẽ bị bỏ qua và kết quả là một đối tượng t sao cho
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
22. Không có điều chỉnh múi giờ nào được thực hiện trong trường hợp nàyNếu cả hai đều nhận biết và có các thuộc tính khác nhau, thì ________ 55 ______ 24 hoạt động như thể a và b lần đầu tiên được chuyển đổi thành thời gian biểu UTC ngây thơ trước. Kết quả là
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
25 ngoại trừ việc triển khai không bao giờ bị tràndatetime1 được coi là nhỏ hơn datetime2 khi datetime1 trước datetime2 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, thì thuộc tính chung sẽ bị bỏ qua và thời gian dữ liệu 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 False
30]Đã thay đổi trong phiên bản 3. 3. So sánh bình đẳng giữa các trường hợp nhận thức và ngây thơ không nâng cao.
Ghi chú
Để ngăn việc so sánh quay trở lại sơ đồ so sánh địa chỉ đối tượng mặc định, so sánh ngày giờ thường tăng lên nếu đối tượng so sánh khác cũng không phải là một đối tượng. Tuy nhiên, thay vào đó,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
41 được trả về nếu đối tượng so sánh khác có thuộc tính>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]
42. This hook gives other kinds of date objects a chance at implementing mixed-type comparison. 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
Phương thức sơ thẩm
ngày giờ. ngày[]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.
datetime. replace[year=self. year , month=self. month , day=self. day , hour=self. hour , minute=self. minute , second=self. second , microsecond=self. microsecond , tzinfo=self. tzinfo , * , fold=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
Mới trong phiên bản 3. 6. Đã thêm đối số
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]96. datetime. astimezone[tz=None]
Return a object with new attribute tz, adjusting the date and time data so the result is the same UTC time as self, but in tz’s local time
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. Nếu bản thân là ngây thơ, nó được coi là đại diện cho thời gian trong múi giờ hệ thống
If called without arguments [or with
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False60] the system local timezone is assumed for the target timezone. The
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False61 attribute of the converted datetime instance will be set to an instance of with the zone name and offset obtained from the OS
If
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False63 is tz,
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False64 is equal to self. no adjustment of date or time data is performed. 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
If you merely want to attach a time zone object tz to a datetime dt without adjustment of date and time data, use
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False68. If you merely want to remove the time zone object from an aware datetime dt without conversion of date and time data, use
>>> 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 . Ignoring error cases, acts like
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]2
Changed in version 3. 3. tz now can be omitted.
Changed in version 3. 6. The method can now be called on naive instances that are presumed to represent system local time.
datetime. utcoffset[]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 False78, and 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 object with magnitude less than one day
Changed in version 3. 7. The UTC offset is not restricted to a whole number of minutes.
datetime. dst[]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 False84, and 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 object with magnitude less than one day
Changed in version 3. 7. The DST offset is not restricted to a whole number of minutes.
datetime. 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,datetime. timetuple[]
Trả lại một chẳng hạn như được trả lại bởi
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]52 tương đương với
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]3
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 1st. The
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 flag of the result is set according to the method. 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 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,
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 is set to
>>> 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; else if returns a non-zero value,
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 is set to
>>> # 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; else
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 is set 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]14datetime. utctimetuple[]
If instance d is naive, this is the same as
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]52 except that
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 is forced to 0 regardless of what
>>> 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 returns. 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 is forced to 0. Note that an may be raised if d. year was
>>> # 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 or
>>> # 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 and UTC adjustment spills over a year boundary
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 a result, using may give misleading results. If you have a naive
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False7 representing UTC, use
>>> 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 to make it aware, at which point you can use datetime. toordinal[]
Return the proleptic Gregorian ordinal of the date. 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'26datetime. timestamp[]
Return POSIX timestamp corresponding to the instance. 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. Since supports wider range of values than
>>> 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 on many platforms, this method may raise for times far in the past or far in the future
For aware instances, the return value is computed as
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]4
New in version 3. 3
Changed in version 3. 6. The method uses the attribute to disambiguate the times during a repeated interval.
Ghi chú
There is no method to obtain the POSIX timestamp directly from a naive instance representing UTC time. If your application uses this convention and your system timezone is not set to UTC, you can obtain the POSIX timestamp by supplying
>>> 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. weekday[]
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. See also ngày giờ. isoweekday[]
Return the day of the week as an integer, where Monday is 1 and Sunday is 7. 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'42. See also , datetime. isocalendar[]
Return a 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 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'48datetime. isoformat[sep='T' , timespec='auto']
Return a string representing the date and time in ISO 8601 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'
49, 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'
51, if is 0
If 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, a string is appended, giving the UTC offset
>>> 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, 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'
57, if is 0
ví dụ
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]7
The optional argument sep [default
>>> 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] is a one-character separator, placed between the date and time portions of the result. For example
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]8
The optional argument timespec specifies the number of additional components of the time to include [the default is
>>> 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]. It can be one of the following
>>> 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. 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'
62 if is 0, 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'
64 otherwise>>> 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. Include the in the two-digit>>> 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 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'
68. 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'
71 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'
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. Include full time, but truncate fractional second part to milliseconds.>>> 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 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'
64. Include full time 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'
80 format
Ghi chú
Excluded time components are truncated, not rounded
will be raised on an invalid timespec argument
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]9
New in version 3. 6. Đã thêm đối số thông số thời gian.
datetime. __str__[]For a instance d,
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]66 is equivalent to
>>> 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[]
Return a string representing the date and time
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:000
The output string will not include time zone information, regardless of whether the input is aware or naive
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]68 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]4
trên các nền tảng có chức năng C
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]69 gốc [gọi, nhưng không gọi] tuân theo tiêu chuẩn Cdatetime. strftime[format]
Return a string representing the date and time, controlled by an explicit format string. For a complete list of formatting directives, see
datetime. __format__[format]Giống như. Điều này giúp có thể chỉ định một chuỗi định dạng cho một đối tượng trong và khi sử dụng. Để biết danh sách đầy đủ các chỉ thị định dạng, hãy xem
Ví dụ về cách sử dụng.
Examples of working with objects
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:002
The example below defines a subclass capturing time zone information for Kabul, Afghanistan, which used +4 UTC until 1945 and then +4. 30 UTC thereafter
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:003
Usage 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'95 from above
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:004
Các đối tượng
A object represents a [local] time of day, independent of any particular day, and subject to adjustment via a object
class datetime. time[hour=0 , minute=0 , second=0 , microsecond=0 , tzinfo=None , * , fold=0]Tất cả các đối số là tùy chọn. 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 >>> 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
If an argument outside those ranges is given, is raised. All default 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]14 except tzinfo, which defaults to
Thuộc tính lớp
time. minThe earliest representable ,
>>> # 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.010time. max
The latest representable ,
>>> # 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.012time. 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, although note that arithmetic on objects is not supported
Thuộc tính phiên bản [chỉ đọc]
time. hourTrong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0096time. minute
Trong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097time. second
Trong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0097time. microsecond
Trong
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:0099time. tzinfo
Đối tượng được truyền dưới dạng đối số tzinfo cho hàm tạo 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 không có đối số nào được truyềntime. fold
Trong
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False02. Được sử dụng để phân biệt thời gian tường trong một khoảng thời gian lặp lại. [Một khoảng thời gian lặp lại xảy ra khi đồng hồ được lùi lại vào cuối giờ tiết kiệm ánh sáng ban ngày hoặc khi độ lệch UTC cho vùng hiện tại bị giảm vì lý do chính trị. ] Giá trị 0 [1] thể hiện sớm hơn [muộn hơn] của hai thời điểm có cùng biểu diễn thời gian tường
Mới trong phiên bản 3. 6
objects support comparison of to , where a is considered less than b when a precedes b 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 times 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 False30]. In order to stop mixed-type comparisons from falling back to the default comparison by object address, 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
Đã thay đổi trong phiên bản 3. 3. So sánh bình đẳng giữa các trường hợp nhận thức và ngây thơ không nâng cao.
In Boolean contexts, a object is always considered to be true
Changed in version 3. 5. Before Python 3. 5, a object was considered to be false if it represented midnight in UTC. This behavior was considered obscure and error-prone and has been removed in Python 3. 5. See bpo-13936 for full details.
Other constructor
classmethod time. fromisoformat[time_string]Return a corresponding to a time_string in any valid ISO 8601 format, with the following exceptions
Độ lệch múi giờ có thể có giây phân số
The leading
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:00
80, normally required in cases where there may be ambiguity between a date and a time, is not requiredFractional seconds may have any number of digits [anything beyond 6 will be truncated]
Giờ và phút phân số không được hỗ trợ
ví dụ
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:005
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 .
Phương thức sơ thẩm
time. replace[hour=self. hour , minute=self. minute , second=self. second , microsecond=self. microsecond , tzinfo=self. tzinfo , * , fold=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
Mới trong phiên bản 3. 6. Đã thêm đối số
>>> from datetime import timedelta >>> d = timedelta[microseconds=-1] >>> [d.days, d.seconds, d.microseconds] [-1, 86399, 999999]96. time. isoformat[timespec='auto']
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, if is 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, if 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>>> # 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, if is 0 and 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
The optional argument timespec specifies the number of additional components of the time to include [the default is
>>> 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]. It can be one of the following
>>> 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. 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'
62 if is 0, 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'
64 otherwise>>> 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. Include the in the two-digit>>> 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 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'
68. 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'
71 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'
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. Include full time, but truncate fractional second part to milliseconds.>>> 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 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'
64. Include full time 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'
80 format
Ghi chú
Excluded time components are truncated, not rounded
will be raised on an invalid timespec argument
Thí dụ
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:006
New in version 3. 6. Đã thêm đối số thông số thời gian.
time. __str__[]For a time 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 is equivalent to
>>> # 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.083time. strftime[format]
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. For a complete list of formatting directives, see
time. __format__[format]Giống như. Điều này giúp có thể chỉ định một chuỗi định dạng cho một đối tượng trong và khi sử dụng. Để biết danh sách đầy đủ các chỉ thị định dạng, hãy xem
time. utcoffset[]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
>>> # 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, and 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 object with magnitude less than one day
Changed in version 3. 7. The UTC offset is not restricted to a whole number of minutes.
time. dst[]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
>>> # 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, and 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 object with magnitude less than one day
Changed in version 3. 7. The DST offset is not restricted to a whole number of minutes.
time. 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 >>> 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, or 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
Ví dụ về cách sử dụng.
Examples of working with a object
>>> timedelta[hours=-5] datetime.timedelta[days=-1, seconds=68400] >>> print[_] -1 day, 19:00:007
Các đối tượng
lớp ngày giờ. tzinfoThis is an abstract base class, meaning that this class should not be instantiated directly. Define a subclass of to capture information about a particular time zone
An instance of [a concrete subclass of] can be passed to the constructors for and objects. The latter objects view their attributes as being in local time, and the object supports methods revealing offset of local time from UTC, the name of the time zone, and DST offset, all relative to a date or time object passed to them
You need to derive a concrete subclass, and [at least] supply implementations of the standard methods needed by the methods you use. The module provides , a simple concrete subclass of which can represent timezones with fixed offset from UTC such as UTC itself or North American EST and EDT
Special requirement for pickling. A subclass must have an
>>> 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 method that can be called with no arguments, otherwise it can be pickled but possibly not unpickled again. This is a technical requirement that may be relaxed in the future
A concrete subclass of may need to implement the following methods. Exactly which methods are needed depends on the uses made of aware objects. If in doubt, simply implement all of them
tzinfo. utcoffset[dt]Return offset of local time from UTC, as a object that is positive east of UTC. If local time is west of UTC, this should be negative
This represents the total offset from UTC; for example, if a object represents both time zone and DST adjustments, should return their sum. If the UTC offset isn’t known, 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. Else the value returned must be a object strictly between
>>> 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 and
>>> 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 [the magnitude of the offset must be less than one day]. 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:008
If 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, should 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 either
Việc thực hiện tăng mặc định
Changed in version 3. 7. The UTC offset is not restricted to a whole number of minutes.
tzinfo. dst[dt]Return the daylight saving time [DST] adjustment, as a object 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 DST information isn’t known
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]83 if DST is not in effect. If DST is in effect, return the offset as a object [see for details]. Note that DST offset, if applicable, has already been added to the UTC offset returned by , so there’s no need to consult unless you’re interested in obtaining DST info separately. For example, calls its attribute’s method to determine how the
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False97 flag should be set, and calls to account for DST changes when crossing time zones
An instance tz of a subclass that models both standard and daylight times must be consistent in this sense
>>> 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
must return the same result for every dt with
>>> 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 For sane subclasses, this expression yields the time zone’s “standard offset”, which should not depend on the date or the time, but only on geographic location. The implementation of relies on this, but cannot detect violations; it’s the programmer’s responsibility to ensure it. If a subclass cannot guarantee this, it may be able to override the default implementation of to work correctly with
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False72 regardless
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
Changed in version 3. 7. The DST offset is not restricted to a whole number of minutes.
tzinfo. tzname[dt]Return the time zone name corresponding to the object dt, as a string. Nothing about string names is defined by the module, and there’s no requirement that it mean anything in particular. For example, “GMT”, “UTC”, “-500”, “-5. 00”, “EDT”, “US/Eastern”, “America/New York” are all valid replies. 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 a string name isn’t known. Note that this is a method rather than a fixed string primarily because some subclasses will wish to return different names depending on the specific value of dt passed, especially if the class is accounting for daylight time
Việc thực hiện tăng mặc định
These methods are called by a or object, in response to their methods of the same names. 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. A subclass’s methods should therefore be prepared to accept a dt argument of
>>> 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 of class
When
>>> 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 passed, it’s up to the class designer to decide the best response. 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. It may be more useful for
>>> 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 to return the standard UTC offset, as there is no other convention for discovering the standard offset
When a object is passed in response to a method,
>>> 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 is the same object as self. methods can rely on this, unless user code calls methods directly. The intent is that the methods interpret dt as being in local time, and not need worry about objects in other timezones
There is one more method that a subclass may wish to override
tzinfo. fromutc[dt]This is called from the default implementation. When called from that,
>>> 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 is self, and dt’s date and time data are to be viewed as expressing a UTC time. The purpose of is to adjust the date and time data, returning an equivalent datetime in self’s local time
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ố. It’s strong enough to handle fixed-offset time zones, and time zones accounting for both standard and daylight time, and the latter even if the DST transition times differ in different years. 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. The default implementations of
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False72 and may not produce the result you want if the result is one of the hours straddling the moment the standard offset changes
Skipping code for error cases, the default implementation acts like
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False1
In the following
>>> 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 file there are some examples of classes
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False2
Note that there are unavoidable subtleties twice per year in a subclass accounting for both standard and daylight time, at the DST transition points. For concreteness, consider US Eastern [UTC -0500], where EDT begins the minute after 1. 59 [EST] on the second Sunday in March, and ends the minute after 1. 59 [EDT] on the first Sunday in November
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False3
When DST starts [the “start” line], the local wall clock leaps from 1. 59 to 3. 00. A wall time of the form 2. MM doesn’t really make sense on that day, so
>>> 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 won’t deliver a result with
>>> 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 on the day DST begins. For example, at the Spring forward transition of 2016, we get
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False4
When DST ends [the “end” line], there’s a potentially worse problem. there’s an hour that can’t be spelled unambiguously in local wall time. the last hour of daylight time. In Eastern, that’s times of the form 5. MM UTC on the day daylight time ends. The local wall clock leaps from 1. 59 [daylight time] back to 1. 00 [standard time] again. Local times of the form 1. MM are ambiguous.
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False72 mimics the local clock’s behavior by mapping two adjacent UTC hours into the same local hour then. In the Eastern example, UTC times of the form 5. MM and 6. MM both map to 1. MM when converted to Eastern, but earlier times have the attribute set to 0 and the later times have it set to 1. For example, at the Fall back transition of 2016, we get
>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False5
Note that the instances that differ only by the value of the attribute are considered equal in comparisons
Applications that can’t bear wall-time ambiguities should explicitly check the value of the attribute or avoid using hybrid subclasses; there are no ambiguities when using , or any other fixed-offset subclass [such as a class representing only EST [fixed offset -5 hours], or only EDT [fixed offset -4 hours]]
Xem thêm
IANA timezone databaseThe module has a basic class [for handling arbitrary fixed offsets from UTC] and its attribute [a UTC timezone instance]
>>> 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 brings the IANA timezone database [also known as the Olson database] to Python, and its usage is recommended
The Time Zone Database [often called tz, tzdata or zoneinfo] contains code and data that represent the history of local time for many representative locations around the globe. It is updated periodically to reflect changes made by political bodies to time zone boundaries, UTC offsets, and daylight-saving rules
Các đối tượng
The class is a subclass of , each instance of which represents a timezone defined by a fixed offset from UTC
Objects of this class cannot be used to represent timezone information in the locations where different offsets are used in different days of the year or where historical changes have been made to civil time
class datetime. timezone[offset , name=None]The offset argument must be specified as a object representing the difference between the local time and UTC. It must be strictly between
>>> 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 and
>>> 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, otherwise is raised
The name argument is optional. If specified it must be a string that will be used as the value returned by the method
Mới trong phiên bản 3. 2
Changed in version 3. 7. The UTC offset is not restricted to a whole number of minutes.
timezone. utcoffset[dt]Return the fixed value specified when the instance is constructed
The dt argument is ignored. The return value is a instance equal to the difference between the local time and UTC
Changed in version 3. 7. The UTC offset is not restricted to a whole number of minutes.
timezone. tzname[dt]Return the fixed value specified when the instance is constructed
If name is not provided in the constructor, the name returned by
>>> 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 is generated from the value of 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]25 as follows. If offset 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]83, the name is “UTC”, otherwise it is a string in the 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]27, where ± is the sign 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]25, HH and MM are two digits 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]29 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]30 respectively
Changed in version 3. 6. Name generated from
>>> 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 is now plain
>>> 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, not
>>> 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. timezone. dst[dt]
Always 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]03timezone. fromutc[dt]
Return
>>> 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. The dt argument must be an aware instance, with
>>> 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 set 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]38
Thuộc tính lớp
timezone. utcThe UTC timezone,
>>> 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 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 Behavior
, , and objects all support 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]45 method, to create a string representing the time under the control of an explicit format string
Conversely, the class method creates a object from a string representing a date and time and a corresponding format string
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
Usage
Convert object to a string according to a given format
Parse a string into a object given a corresponding format
Type of method
Instance method
Class method
Method of
; ;
Signature
>>> 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
The following is a list of all the format codes that the 1989 C standard requires, and these work on all platforms with a standard C implementation
Directive
Meaning
Example
Notes
>>> 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
Weekday as locale’s abbreviated name
Sun, 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
Weekday as locale’s full name
Sunday, Monday, …, Saturday [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
Weekday as a decimal number, where 0 is Sunday and 6 is Saturday
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
Day of the month as a zero-padded decimal number
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
Month as locale’s abbreviated name
Jan, Feb, …, Dec [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
Month as locale’s full name
January, February, …, December [en_US];
Januar, Februar, …, Dezember [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
Month as a zero-padded decimal number
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
Year without century as a zero-padded decimal number
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
Year with century as a decimal number
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
Hour [24-hour clock] as a zero-padded decimal number
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
Hour [12-hour clock] as a zero-padded decimal number
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
Time zone name [empty string if the object is naive]
[empty], 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
Day of the year as a zero-padded decimal number
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
Week number of the year [Sunday as the first day of the week] as a zero-padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 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
Week number of the year [Monday as the first day of the week] as a zero-padded decimal number. All days in a new year preceding the first Monday are considered to be in week 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
Locale’s appropriate date and time representation
Tue Aug 16 21. 30. 00 1988 [en_US];
Di 16 Aug 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
Directive
Meaning
Example
Notes
>>> 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 rộng ra,
>>> 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ị đó. Nếu chúng vẫn được sử dụng, thì
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]09 được thay thế cho năm 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.05 cho tháng và ngày
Đối với các đối tượng, không nên sử dụng mã định dạng cho giờ, phút, giây và micro giây vì các đối tượng không có các giá trị như vậy. Nếu chúng vẫn được sử 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]14 được thay thế cho chúng
Vì lý do tương tự, việc xử lý các chuỗi định dạng chứa các điểm mã Unicode không thể được biểu thị trong bộ ký tự của ngôn ngữ hiện tại cũng phụ thuộc vào nền tảng. Trên một số nền tảng, các điểm mã như vậy được giữ nguyên trong đầu ra, trong khi trên các nền tảng khác, thay vào đó,
>>> 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 có thể tăng hoặc trả về một chuỗi trống
Notes
Vì định dạng phụ thuộc vào ngôn ngữ hiện tại nên cần cẩn thận khi đưa ra các giả định về giá trị đầu ra. Thứ tự trường sẽ thay đổi [ví dụ: “tháng/ngày/năm” so với “ngày/tháng/năm”] và đầu ra có thể chứa các ký tự Unicode được mã hóa bằng cách sử dụng mã hóa mặc định của ngôn ngữ [ví dụ: nếu ngôn ngữ hiện tại là
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
16,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ốĐã thay đổi trong phiên bản 3. 2. Trong các phiên bản trước, 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]
40 bị giới hạn trong các năm >= 1900.Đã thay đổi trong phiên bản 3. 3. Trong phiên bản 3. 2, 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 bị giới hạn trong các năm >= 1000.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]
41, chỉ thị>>> 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 chỉ ảnh hưởng đến trường giờ đầu ra nếu chỉ thị>>> 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 được sử dụng để phân tích cú pháp giờKhông giống như mô-đun, mô-đun không hỗ trợ giây nhảy vọt
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]
41, chỉ thị>>> 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 chấp nhận từ một đến sáu chữ số và số 0 ở bên phả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]
75 là một phần mở rộng cho tập hợp các ký tự định dạng trong tiêu chuẩn C [nhưng được triển khai riêng trong các đối tượng ngày giờ và do đó luôn có sẵn]Đối với một đối tượng ngây thơ, mã đị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]
76 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]
78 được thay thế bằng các chuỗi rỗngĐối với một đối tượng nhận 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]
76>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
57 được chuyển đổi thành một chuỗi có 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, trong đó>>> 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 là chuỗi 2 chữ số cho biết số giờ bù giờ UTC,>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
38 là chuỗi 2 chữ số cho biết số phút bù giờ UTC,>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
39 là chuỗi 2 chữ số cho . Phần>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
40 bị bỏ qua khi phần bù là một số nguyên giây và cả phần>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
40 và phần>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
39 đều bị bỏ qua khi phần bù là một số nguyên phút. Ví dụ: nếu>>> from datetime import timedelta >>> delta1 = timedelta[seconds=57] >>> delta2 = timedelta[hours=25, seconds=2] >>> delta2 != delta1 True >>> delta2 == 5 False
57 trả về>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
45, thì>>> 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 được thay thế bằng chuỗi>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
47Changed in version 3. 7. The UTC offset is not restricted to a whole number of minutes.
Đã thay đổi trong phiên bản 3. 7. Khi chỉ thị
>>> 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 được cung cấp cho 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]
41, phần bù UTC có thể có dấu hai chấm làm dấu phân cách giữa giờ, phút và giây. Ví dụ:>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
50 sẽ được phân tích thành phần bù của một giờ. Ngoài ra, cung cấp>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
51 giống hệt với>>> 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]
78Trong
>>> 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 được thay thế bằng một chuỗi rỗng nếu>>> 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 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 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 chỉ chấp nhận các giá trị nhất định cho>>> 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]
78bất kỳ giá trị nào trong
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
61 cho ngôn ngữ máy của bạncác giá trị mã hóa cứng
>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
62 và>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
63
Vì vậy, một người nào đó sống ở Nhật Bản có thể có các giá trị hợp lệ là
>>> 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 và>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
63, nhưng có lẽ không phải là>>> from datetime import date >>> d = date[2002, 12, 31] >>> d.replace[day=26] datetime.date[2002, 12, 26]
67. Nó sẽ 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]
93 cho các giá trị không hợp lệĐã thay đổi trong phiên bản 3. 2. Khi chỉ thị
>>> 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 được cung cấp cho 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]
41, một đối tượng nhận biết sẽ được tạo ra.>>> 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 của kết quả sẽ được đặt thành một thể hiện.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]
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]
80 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]
81 chỉ được sử dụng trong các phép tính khi ngày trong tuần và năm dương lị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]
69] được chỉ địnhTương tự như
>>> 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 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]
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 chỉ được sử dụng trong tính toán khi ngày trong tuần và năm 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]
87] được chỉ định trong 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]
41. Cũng lưu ý rằ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]
87 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]
69 không thể hoán đổi cho nhauKhi đượ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]
41, số 0 đứng đầu là tùy chọn đối với các đị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]
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 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. Đị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]
68 không yêu cầu số 0 đứng đầu
chú thích
Nghĩa là, nếu chúng ta bỏ qua các tác động của Thuyết tương đối
Điều này phù hợp với định nghĩa của lịch “proleptic Gregorian” trong cuốn sách Tính toán Lịch của Dershowitz và Reingold, trong đó nó là lịch cơ sở cho tất cả các phép tính. Xem sách để biết các thuật toán chuyển đổi giữa các thứ tự Gregorian proleptic và nhiều hệ thống lịch khác