Hướng dẫn python datetime eastern time zone - python datetime múi giờ miền đông

Bạn nên sử dụng gói pytz nếu bạn cần nhiều múi giờ và bạn cần xử lý chính xác giờ tiết kiệm thời gian của ánh sáng ban ngày (tức là những gì xảy ra từ nửa đêm đến 1 giờ sáng).

Đối với một cái gì đó đơn giản mặc dù, nó đủ dễ dàng để tạo lớp múi giờ của riêng bạn:

import datetime

class EST5EDT(datetime.tzinfo):

    def utcoffset(self, dt):
        return datetime.timedelta(hours=-5) + self.dst(dt)

    def dst(self, dt):
        d = datetime.datetime(dt.year, 3, 8)        #2nd Sunday in March
        self.dston = d + datetime.timedelta(days=6-d.weekday())
        d = datetime.datetime(dt.year, 11, 1)       #1st Sunday in Nov
        self.dstoff = d + datetime.timedelta(days=6-d.weekday())
        if self.dston <= dt.replace(tzinfo=None) < self.dstoff:
            return datetime.timedelta(hours=1)
        else:
            return datetime.timedelta(0)

    def tzname(self, dt):
        return 'EST5EDT'

dt = datetime.datetime.now(tz=EST5EDT())

Ở đây bạn đang sử dụng lớp cơ sở trừu tượng datetime.tzinfo để tạo một lớp

    In [15]: print(dt)
2012-07-29 12:28:59.125975-04:00

    In [16]: print(dt.strftime('%Y-%m-%d %H:%M:%S'))
2012-07-29 12:28:59

    In [17]: print(dt.strftime('%H:%M:%S'))
12:28:59

    In [18]: print(dt.strftime('%s.%f'))  
1343579339.125975
0 mô tả ý nghĩa của "múi giờ phương Đông", cụ thể là bù UTC của bạn (-5 giờ) và khi thời gian tiết kiệm ánh sáng ban ngày có hiệu lực (BTWN vào Chủ nhật thứ 2 của ngày thứ 2 của Tháng 3 và Chủ nhật ngày 1 tháng 11).

Btw mẫu trên được lấy từ tài liệu

    In [15]: print(dt)
2012-07-29 12:28:59.125975-04:00

    In [16]: print(dt.strftime('%Y-%m-%d %H:%M:%S'))
2012-07-29 12:28:59

    In [17]: print(dt.strftime('%H:%M:%S'))
12:28:59

    In [18]: print(dt.strftime('%s.%f'))  
1343579339.125975
1: http://docs.python.org/l Library/datetime.html

Không chắc bạn muốn nói gì "Nhận Python để hiển thị thời gian ở Đông", nhưng sử dụng đối tượng

    In [15]: print(dt)
2012-07-29 12:28:59.125975-04:00

    In [16]: print(dt.strftime('%Y-%m-%d %H:%M:%S'))
2012-07-29 12:28:59

    In [17]: print(dt.strftime('%H:%M:%S'))
12:28:59

    In [18]: print(dt.strftime('%s.%f'))  
1343579339.125975
2 từ dòng cuối cùng ở trên:

    In [15]: print(dt)
2012-07-29 12:28:59.125975-04:00

    In [16]: print(dt.strftime('%Y-%m-%d %H:%M:%S'))
2012-07-29 12:28:59

    In [17]: print(dt.strftime('%H:%M:%S'))
12:28:59

    In [18]: print(dt.strftime('%s.%f'))  
1343579339.125975

Hướng dẫn này trình bày cách chuyển đổi múi giờ của đối tượng DateTime sang múi giờ khác như CET, CST, EAT, EST và UTC trong ngôn ngữ lập trình Python.

Bài viết này chứa các phần dưới đây:

Hãy cùng đi sâu vào mã Python!

Nhập mô -đun DateTime & Tạo dữ liệu ví dụ

Bước đầu tiên, chúng tôi phải nhập mô -đun DateTime vào Python:

from datetime import datetime

Để chỉ định các múi giờ khác nhau trong Python, chúng tôi cũng phải tải mô -đun PYTZ:

Bây giờ, chúng ta có thể tạo một đối tượng DateTime với múi giờ UTC bằng cách áp dụng mã Python bên dưới:

my_datetime = datetime(2023, 2, 13, 17, 10, 27, tzinfo = pytz.utc)
print(my_datetime)
# 2023-02-13 17:10:27+00:00

Chúng tôi cũng có thể định dạng đối tượng DateTime của mình để hiển thị múi giờ bằng hàm strftime:

my_datetime_utc = my_datetime.strftime('%Y-%m-%d %H:%M:%S %Z%z')
print(my_datetime_utc)
# 2023-02-13 17:10:27 UTC+0000

Như bạn có thể thấy, ngày và thời gian của chúng tôi là ngày 13 tháng 2 năm 2023 lúc 05:10:27 tối.

Hãy để chuyển đổi ngày và thời gian này sang các múi giờ khác nhau.

Ví dụ 1: Chuyển đổi DateTime thành múi giờ CET

Nếu chúng ta muốn chuyển đổi một đối tượng DateTime sang múi giờ CET, chúng ta có thể sử dụng hàm Astimezone và múi giờ ‘Châu Âu/Berlin, như được hiển thị bên dưới:

my_datetime_cet = my_datetime.astimezone(pytz.timezone('Europe/Berlin')).strftime('%Y-%m-%d %H:%M:%S %Z%z')
print(my_datetime_cet)
# 2023-02-13 18:10:27 CET+0100

Ví dụ 2: Chuyển đổi DateTime thành Múi giờ CST

Tương tự như mã Python của ví dụ 1, chúng ta có thể chuyển đổi đối tượng DateTime ví dụ của mình thành CST bằng cách chỉ định ‘chúng ta/trung tâm trong hàm múi giờ:

my_datetime_cst = my_datetime.astimezone(pytz.timezone('US/Central')).strftime('%Y-%m-%d %H:%M:%S %Z%z')
print(my_datetime_cst)
# 2023-02-13 11:10:27 CST-0600

Ví dụ 3: Chuyển đổi DateTime thành múi giờ EST

Trong trường hợp chúng tôi muốn chuyển đổi múi giờ của chúng tôi sang EST, chúng tôi phải chỉ định ‘chúng tôi/phương Đông:

my_datetime_est = my_datetime.astimezone(pytz.timezone('US/Eastern')).strftime('%Y-%m-%d %H:%M:%S %Z%z')
print(my_datetime_est)
# 2023-02-13 12:10:27 EST-0500

Video, Tài nguyên & Tóm tắt

Bạn có cần giải thích thêm về cách thay đổi múi giờ của các đối tượng DateTime trong Python không? Sau đó, bạn nên xem video sau đây của Kênh YouTube TechnologyCult.

Trong video, loa giải thích cách chuyển đổi các múi giờ bằng gói PYTZ trong Python.

Không đủ? Bạn có thể xem xét một số hướng dẫn khác ở đây trên Quả cầu Thống kê:

  • Chuyển đổi thời gian kỷ nguyên sang đối tượng DateTime & ngược lại trong Python
  • Làm cho múi giờ Datetime không biết trong Python
  • Chuyển đổi DateTime thành Unix Timestamp trong Python
  • Chuyển đổi đối tượng DateTime sang múi giờ cục bộ
  • Hướng dẫn lập trình Python

Bài đăng này đã chỉ ra cách chuyển đổi các đối tượng DateTime sang các múi giờ khác trong ngôn ngữ lập trình Python.transform datetime objects to other time zones in the Python programming language.

Lưu ý rằng chúng tôi có thể sử dụng mã của hướng dẫn này để chuyển đổi các đối tượng DateTime sang nhiều vùng thời gian khác như AEST, ACST, AFT, AKST, AST, CAT, EET, MSK, MST, PST, WAT và WET. Chúng tôi chỉ đơn giản là phải chỉ định vùng tương ứng trong hàm múi giờ.

Trong trường hợp bạn có thêm câu hỏi, bạn có thể để lại một bình luận bên dưới.

Hướng dẫn này được tạo ra với sự hợp tác của Gottumukkala Sravan Kumar. Xin vui lòng xem trang tác giả Gottumukkala, để có thêm thông tin về nền tảng học tập của anh ấy và các bài báo khác mà anh ấy đã viết cho Quả cầu Thống kê.

Python DateTime có múi giờ không?

Một trong những mô -đun giúp bạn làm việc theo ngày và thời gian trong Python là DateTime. Với mô -đun DateTime, bạn có thể nhận được ngày và giờ hiện tại hoặc ngày và giờ hiện tại trong một múi giờ cụ thể.With the datetime module, you can get the current date and time, or the current date and time in a particular time zone.

Python có phải là DateTime trong UTC không?

Bạn có thể sử dụng mô -đun DateTime để chuyển đổi DateTime thành dấu thời gian UTC trong Python.Nếu bạn đã có đối tượng DateTime trong UTC, bạn có thể dấu thời gian () để có dấu thời gian UTC.Hàm này trả về thời gian kể từ thời đại cho đối tượng DateTime đó.. If you already have the datetime object in UTC, you can the timestamp() to get a UTC timestamp. This function returns the time since epoch for that datetime object.

EST có phải là thời điểm EST không?

Thời gian chuẩn phương Đông (EST), khi quan sát thời gian tiêu chuẩn (mùa thu/mùa đông), sau năm giờ sau thời gian phối hợp (UTC 05: 00).Thời gian ánh sáng ban ngày phía đông (EDT), khi quan sát thời gian tiết kiệm ánh sáng ban ngày (mùa xuân/hè), cách thời gian toàn cầu phối hợp bốn giờ (UTC - 04: 00).. Eastern Daylight Time (EDT), when observing daylight saving time (spring/summer), are four hours behind Coordinated Universal Time (UTC−04:00).

DateTime Timedelta trong Python là gì?

Đối tượng Timedelta.Một đối tượng Timedelta biểu thị thời lượng, sự khác biệt giữa hai ngày hoặc thời gian.Lớp DateTime.Timedelta (ngày = 0, giây = 0, micro giây = 0, miliseconds = 0, phút = 0, giờ = 0, tuần = 0)represents a duration, the difference between two dates or times. class datetime. timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)