Python tzinfo utcoffset

pytz đưa cơ sở dữ liệu Olson tz vào Python. Thư viện này cho phép tính toán múi giờ chính xác và đa nền tảng bằng Python 2. 4 hoặc cao hơn. Nó cũng giải quyết vấn đề về thời gian không rõ ràng khi kết thúc thời gian tiết kiệm ánh sáng ban ngày, bạn có thể đọc thêm về vấn đề này trong Tài liệu tham khảo thư viện Python (

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
0)

Hầu như tất cả các múi giờ Olson đều được hỗ trợ

Ghi chú

Thư viện này khác với API Python được ghi lại để triển khai tzinfo; . Ngoài ra, nếu bạn thực hiện số học ngày trên giờ địa phương vượt qua ranh giới DST, kết quả có thể ở múi giờ không chính xác (tức là. trừ 1 phút từ 2002-10-27 1. 00 EST và bạn nhận được 2002-10-27 0. 59 EST thay vì đúng 2002-10-27 1. 59 EDT). Một phương pháp

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
2 được cung cấp để sửa lỗi này. Thật không may, những vấn đề này không thể được giải quyết nếu không sửa đổi triển khai thời gian của Python (xem PEP-431)

Cài đặt

Gói này có thể được cài đặt từ một. egg bằng cách sử dụng setuptools hoặc từ tarball bằng Python distutils tiêu chuẩn

Nếu bạn đang cài đặt từ tarball, hãy chạy lệnh sau với tư cách người dùng quản trị

python setup.py install

Nếu bạn đang cài đặt bằng setuptools, bạn thậm chí không cần tải xuống bất kỳ thứ gì vì phiên bản mới nhất sẽ được tải xuống cho bạn từ chỉ mục gói Python

easy_install --upgrade pytz

Nếu bạn đã có. tệp trứng, bạn cũng có thể sử dụng tệp đó

easy_install pytz-2008g-py2.6.egg

Ví dụ và cách sử dụng

Thời gian cục bộ và số học ngày

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'

Thư viện này chỉ hỗ trợ hai cách xây dựng thời gian bản địa hóa. Đầu tiên là sử dụng phương thức

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
1 do thư viện pytz cung cấp. Điều này được sử dụng để bản địa hóa một ngày giờ ngây thơ (ngày giờ không có thông tin múi giờ)

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500

Cách thứ hai để xây dựng thời gian bản địa hóa là chuyển đổi thời gian bản địa hóa hiện có bằng cách sử dụng phương pháp

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
4 tiêu chuẩn

>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'

Thật không may khi sử dụng đối số tzinfo của các hàm tạo thời gian chuẩn ''không hoạt động'' với pytz cho nhiều múi giờ

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'

Tuy nhiên, nó an toàn cho các múi giờ không có chuyển đổi tiết kiệm ánh sáng ban ngày, chẳng hạn như UTC

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=pytz.utc).strftime(fmt)
'2002-10-27 12:00:00 UTC+0000'

Cách ưu tiên để xử lý thời gian là luôn hoạt động trong UTC, chỉ chuyển đổi sang giờ địa phương khi tạo đầu ra để con người đọc

>>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
>>> loc_dt = utc_dt.astimezone(eastern)
>>> loc_dt.strftime(fmt)
'2002-10-27 01:00:00 EST-0500'

Thư viện này cũng cho phép bạn thực hiện số học ngày tháng bằng cách sử dụng giờ địa phương, mặc dù nó phức tạp hơn làm việc trong UTC vì bạn cần sử dụng phương thức

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
2 để xử lý thời gian tiết kiệm ánh sáng ban ngày và các chuyển đổi múi giờ khác. Trong ví dụ này,
>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
6 được đặt thành thời điểm khi giờ mùa hè kết thúc ở múi giờ Hoa Kỳ/Miền Đông

>>> before = loc_dt - timedelta(minutes=10)
>>> before.strftime(fmt)
'2002-10-27 00:50:00 EST-0500'
>>> eastern.normalize(before).strftime(fmt)
'2002-10-27 01:50:00 EDT-0400'
>>> after = eastern.normalize(before + timedelta(minutes=20))
>>> after.strftime(fmt)
'2002-10-27 01:10:00 EST-0500'

Tạo giờ địa phương cũng phức tạp và lý do tại sao không nên làm việc với giờ địa phương. Thật không may, bạn không thể chỉ chuyển một đối số

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
7 khi xây dựng một ngày giờ (xem phần tiếp theo để biết thêm chi tiết)

easy_install --upgrade pytz
0

Chuyển đổi giữa các múi giờ được thực hiện dễ dàng hơn, sử dụng phương pháp astimezone tiêu chuẩn

easy_install --upgrade pytz
1

Bạn có thể sử dụng phím tắt khi xử lý phía UTC của chuyển đổi múi giờ.

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
2 và
>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
1 không thực sự cần thiết khi không có chuyển đổi thời gian tiết kiệm ánh sáng ban ngày để giải quyết

easy_install --upgrade pytz
2

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0)) >>> print(loc_dt.strftime(fmt)) 2002-10-27 06:00:00 EST-0500 7 API

Các phiên bản

>>> loc_dt = eastern.localize(datetime(2002, 10, 27, 6, 0, 0))
>>> print(loc_dt.strftime(fmt))
2002-10-27 06:00:00 EST-0500
7 được trả về bởi hàm
>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
2 đã được mở rộng để đối phó với thời gian không rõ ràng bằng cách thêm một tham số
>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
3 vào các phương thức
>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
4,
>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
5 &&
>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
6

easy_install --upgrade pytz
3

easy_install --upgrade pytz
4

Tham số

>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
3 bị bỏ qua đối với hầu hết các dấu thời gian. Nó chỉ được sử dụng trong các giai đoạn mơ hồ chuyển đổi DST để giải quyết sự mơ hồ đó

easy_install --upgrade pytz
5

easy_install --upgrade pytz
6

easy_install --upgrade pytz
7

easy_install --upgrade pytz
8

Nếu

>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
3 không được chỉ định, dấu thời gian mơ hồ sẽ đưa ra một ngoại lệ
>>> ams_dt = loc_dt.astimezone(amsterdam)
>>> ams_dt.strftime(fmt)
'2002-10-27 12:00:00 CET+0100'
9

easy_install --upgrade pytz
9

easy_install pytz-2008g-py2.6.egg
0

Sự cố với Giờ địa phương

Vấn đề chính mà chúng ta phải giải quyết là các mốc thời gian nhất định có thể xảy ra hai lần trong một năm. Ví dụ: ở múi giờ Hoa Kỳ/Miền Đông vào sáng Chủ nhật cuối cùng của tháng 10, trình tự sau sẽ xảy ra

  • 01. 00 EDT xảy ra
  • 1 giờ sau, thay vì 2. 00am đồng hồ quay ngược lại 1 tiếng 01. 00 lại xảy ra (lần này 01. 00 EST)

Trên thực tế, mỗi thời điểm giữa 01. 00 và 02. 00 xảy ra hai lần. Điều này có nghĩa là nếu bạn cố gắng tạo một thời gian trong múi giờ 'Hoa Kỳ/Miền Đông' theo cú pháp ngày giờ tiêu chuẩn, thì không có cách nào để xác định xem ý của bạn là trước hay sau khi chuyển đổi giờ tiết kiệm ánh sáng ban ngày. Sử dụng cú pháp tùy chỉnh pytz, điều tốt nhất bạn có thể làm là đoán

easy_install pytz-2008g-py2.6.egg
1

Như bạn có thể thấy, hệ thống đã chọn một cái cho bạn và có 50% khả năng nó sẽ hết sau một giờ. Đối với một số ứng dụng, điều này không thành vấn đề. Tuy nhiên, nếu bạn đang cố lên lịch cuộc họp với những người ở các múi giờ khác nhau hoặc phân tích các tệp nhật ký thì điều đó không được chấp nhận

Giải pháp tốt nhất và đơn giản nhất là sử dụng UTC. Gói pytz khuyến khích sử dụng UTC để biểu diễn múi giờ nội bộ bằng cách bao gồm triển khai UTC đặc biệt dựa trên triển khai tham chiếu Python tiêu chuẩn trong tài liệu Python

Múi giờ UTC giải nén thành cùng một phiên bản và chọn kích thước nhỏ hơn so với các phiên bản pytz tzinfo khác. Việc triển khai UTC có thể được lấy dưới dạng pytz. utc, pytz. UTC hoặc pytz. múi giờ ('UTC')

easy_install pytz-2008g-py2.6.egg
2

Lưu ý rằng một số múi giờ khác thường được coi là giống nhau (GMT, Greenwich, Universal, v.v. ). Định nghĩa của UTC khác với các múi giờ khác này và chúng không tương đương. Vì lý do này, chúng sẽ không so sánh giống nhau trong Python

easy_install pytz-2008g-py2.6.egg
3

Xem phần , bên dưới

Nếu bạn khăng khăng muốn làm việc với giờ địa phương, thư viện này cung cấp cơ sở để xây dựng chúng một cách rõ ràng

easy_install pytz-2008g-py2.6.egg
4

Nếu bạn chuyển Không làm cờ is_dst để bản địa hóa(), pytz sẽ từ chối đoán và đưa ra các ngoại lệ nếu bạn cố tạo thời gian mơ hồ hoặc không tồn tại

Ví dụ: 1. 30 giờ sáng ngày 27 tháng 10 năm 2002 đã xảy ra hai lần ở múi giờ Hoa Kỳ/Miền Đông khi đồng hồ đặt lại vào cuối Giờ tiết kiệm ánh sáng ban ngày

easy_install pytz-2008g-py2.6.egg
5

Tương tự, 2. 30 giờ sáng ngày 7 tháng 4 năm 2002 hoàn toàn không xảy ra ở múi giờ Hoa Kỳ/Miền Đông, vì các đồng hồ được đặt ở vị trí 2. 00am bỏ qua toàn bộ giờ

easy_install pytz-2008g-py2.6.egg
6

Cả hai ngoại lệ này đều có chung một lớp cơ sở để xử lý lỗi dễ dàng hơn

easy_install pytz-2008g-py2.6.egg
7

Một trường hợp đặc biệt là khi các quốc gia thay đổi định nghĩa múi giờ của họ mà không chuyển đổi thời gian tiết kiệm ánh sáng ban ngày. Ví dụ: vào năm 1915, Warsaw đã chuyển từ giờ Warsaw sang giờ Trung Âu mà không có chuyển đổi tiết kiệm ánh sáng ban ngày. Vì vậy, vào lúc nửa đêm ngày 5 tháng 8 năm 1915, các đồng hồ đã quay ngược lại 24 phút, tạo ra một khoảng thời gian mơ hồ không thể xác định được nếu không tham khảo từ viết tắt múi giờ hoặc độ lệch UTC thực tế. Trong trường hợp này, nửa đêm xảy ra hai lần, không phải lần nào trong khoảng thời gian tiết kiệm ánh sáng ban ngày. pytz xử lý quá trình chuyển đổi này bằng cách coi khoảng thời gian không rõ ràng trước khi chuyển đổi là thời gian tiết kiệm ánh sáng ban ngày và khoảng thời gian không rõ ràng sau đó là thời gian tiêu chuẩn

easy_install pytz-2008g-py2.6.egg
8

Cách tốt nhất để tạo thời gian trong khoảng thời gian không rõ ràng là chuyển đổi từ múi giờ khác, chẳng hạn như UTC

easy_install pytz-2008g-py2.6.egg
9

Cách tiêu chuẩn của Python để xử lý tất cả những điểm mơ hồ này là không xử lý chúng, chẳng hạn như được minh họa trong ví dụ này bằng cách sử dụng định nghĩa múi giờ Hoa Kỳ/Miền Đông từ tài liệu Python (Lưu ý rằng cách triển khai này chỉ hoạt động cho các ngày từ 1987 đến 2006 - nó được bao gồm cho . )

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
0

Chú ý hai kết quả đầu tiên?

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
1

Thông tin quốc gia

Một cơ chế được cung cấp để truy cập các múi giờ thường được sử dụng cho một quốc gia cụ thể, tra cứu bằng mã quốc gia ISO 3166. Nó trả về một danh sách các chuỗi có thể được sử dụng để truy xuất phiên bản tzinfo có liên quan bằng cách sử dụng

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
0

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
2

Cơ sở dữ liệu Olson đi kèm với mã quốc gia ISO 3166 để ánh xạ tên quốc gia tiếng Anh mà pytz hiển thị dưới dạng từ điển

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
3

UTC là gì

'UTC' là Giờ phối hợp quốc tế. Nó là sự kế thừa, nhưng khác biệt với Giờ trung bình Greenwich (GMT) và các định nghĩa khác nhau về Giờ quốc tế. UTC hiện là tiêu chuẩn toàn cầu để điều chỉnh đồng hồ và đo thời gian

Tất cả các múi giờ khác được xác định tương ứng với UTC và bao gồm các giá trị bù trừ như UTC+0800 - số giờ để cộng hoặc trừ từ UTC để lấy giờ địa phương. Không có giờ tiết kiệm ánh sáng ban ngày xảy ra trong UTC, làm cho múi giờ này trở thành múi giờ hữu ích để thực hiện phép tính ngày tháng mà không phải lo lắng về sự nhầm lẫn và mơ hồ do chuyển đổi thời gian tiết kiệm ánh sáng ban ngày, quốc gia của bạn thay đổi múi giờ hoặc máy tính di động chuyển vùng qua nhiều múi giờ

Người giúp việc

Có hai danh sách múi giờ được cung cấp

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
1 là danh sách đầy đủ các tên múi giờ có thể được sử dụng

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
4

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
2 là danh sách các múi giờ hiện tại, hữu ích. Nó không chứa các khu vực hoặc khu vực lịch sử không dùng nữa, ngoại trừ một số khu vực mà tôi cho là sử dụng phổ biến, chẳng hạn như Hoa Kỳ/Miền Đông (mở một báo cáo lỗi nếu bạn cho rằng các múi giờ khác xứng đáng được đưa vào đây). Nó cũng là một chuỗi các chuỗi

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
5

Cả

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
2 và
>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
1 đều được sắp xếp theo thứ tự bảng chữ cái

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
6

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
1 và
>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
2 cũng có sẵn dưới dạng bộ

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
7

Bạn cũng có thể truy xuất danh sách các múi giờ được sử dụng bởi các quốc gia cụ thể bằng hàm

>>> datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam).strftime(fmt)
'2002-10-27 12:00:00 LMT+0020'
7. Nó yêu cầu mã quốc gia gồm hai chữ cái theo tiêu chuẩn ISO-3166

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> import pytz
>>> utc = pytz.utc
>>> utc.zone
'UTC'
>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'
>>> amsterdam = timezone('Europe/Amsterdam')
>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
8

Quốc tế hóa - i18n/l10n

Pytz là một giao diện cho cơ sở dữ liệu IANA, sử dụng tên ASCII. Dự án Unicode Locales (CLDR) của Unicode Consortium cung cấp các bản dịch. Gói l18n của Thomas Khyn có thể được sử dụng để truy cập các bản dịch này từ Python

Giấy phép

giấy phép MIT

Mã này cũng có sẵn như một phần của Zope 3 theo Giấy phép Công cộng Zope, Phiên bản 2. 1 (ZPL)

Tôi rất sẵn lòng cấp lại mã này nếu cần để đưa vào các dự án mã nguồn mở khác

Phiên bản mới nhất

Gói này sẽ được cập nhật sau khi phát hành cơ sở dữ liệu múi giờ Olson. Có thể tải xuống phiên bản mới nhất từ ​​Chỉ mục gói Python. Mã được sử dụng để tạo bản phân phối này được lưu trữ trên launchpad. net và có sẵn bằng hệ thống kiểm soát phiên bản Bazaar bằng cách sử dụng

Utcoffset trong Python là gì?

Hàm utcoffset() được dùng để trả về một đối tượng timedelta thể hiện sự khác biệt giữa giờ địa phương và giờ UTC . Hàm này được sử dụng trong lớp datetime của mô-đun datetime. Phạm vi của utcoffset ở đây là “timedelta(hours=24)

Tzinfo trong Python là gì?

Python – ngày giờ. tzinfo() Nhận thời gian hiện tại ở múi giờ khác bằng Python .

Làm cách nào để xóa múi giờ khỏi datetime trong Python?

Đối tượng DateTime với thông tin múi giờ sau đó được thao tác bằng cách sử dụng. replace() để xóa thông tin múi giờ bằng tham số tzinfo .

Làm cách nào để lấy thông tin múi giờ trong datetime Python?

Bạn có thể lấy thời gian hiện tại trong một múi giờ cụ thể bằng cách sử dụng mô-đun datetime với một mô-đun khác có tên là pytz. Sau đó, bạn có thể kiểm tra tất cả các múi giờ có sẵn bằng đoạn mã bên dưới. từ nhập ngày giờ nhập ngày giờ nhập vùng pytz = pytz. in all_timezones(khu vực) # Đầu ra. tất cả các múi giờ trên thế giới.