Hướng dẫn how do i set timezone offset in python? - làm cách nào để đặt độ lệch múi giờ trong python?
Sử dụng 9: Show
Trong hướng dẫn này, chúng tôi sẽ học cách làm việc với timezone trong Python. Sau khi đọc bài viết này, bạn sẽ học::
Thời gian trong Python là gì?Một múi giờ đại diện cho thời gian chuẩn hóa tùy thuộc vào phần nào của thế giới đang được xem xét. Nói một cách đơn giản, timezone đề cập đến thời gian địa phương của một khu vực. UTC (thời gian phối hợp phổ quát) là thời gian thiên văn dựa trên vòng quay Trái đất, là tiêu chuẩn theo thời gian dựa trên khu vực thế giới được phối hợp. Lưu ý: UTC - Thời gian phối hợp là tiêu chuẩn thời gian phổ biến trên toàn thế giới. Vì vậy, trong Python, để làm việc với múi giờ mà không có bất kỳ vấn đề nào, nên sử dụng UTC làm thời gian cơ bản của bạn: UTC – Coordinated Universal Time is the common time standard across the world. So, in Python, to work with the timezone without any issues, it is recommended to use the UTC as your base timezone Ví dụ, CT (giờ trung tâm) ở Bắc và Nam Mỹ đứng sau 5 hoặc 6 giờ và được đại diện là UTC-5 hoặc UTC-6 dựa trên tiết kiệm ánh sáng ban ngày. Dưới đây là một vài ví dụ.
Múi giờ Python cung cấp lớp cơ sở trừu tượng 0 cung cấp các phương pháp để xử lý timezone. Nhưng lớp này là một lớp cơ sở trừu tượng và không nên được khởi tạo trực tiếp. Chúng ta cần xác định một lớp con của TZINFO để nắm bắt thông tin về một múi giờ cụ thể.pytz library has implemented a timezone class for handling arbitrary fixed offsets from UTC and timezones. This library allows accurate
and cross-platform timezone calculations and also solves the issue of ambiguous times at the end of daylight saving time.Thư viện PYTZ đã triển khai một lớp timezone để xử lý các khoản bù cố định tùy ý từ UTC và múi giờ. 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 và cũng giải quyết vấn đề thời gian mơ hồ vào cuối thời gian tiết kiệm ánh sáng ban ngày.concrete implementation of the abstract base class tzinfo and is used to create timezone-aware datetime objects. PYTZ là một triển khai cụ thể của lớp cơ sở trừu tượng TZINFO và được sử dụng để tạo các đối tượng DateTime nhận biết thời gian. Ví dụ: chức năng 1 trả về thời gian ngày địa phương hiện tại mà không có bất kỳ thông tin timezone nào. Sử dụng thư viện PYTZ, chúng ta có thể chuyển tên múi giờ cho chức năng này để có được dữ liệu hiện tại trong múi giờ đã cho.following attributes and methods of the pytz module to work with timezone in Python.
from datetime import datetime import pytz # current Datetime unaware = datetime.now() print('Timezone naive:', unaware) # Standard UTC timezone aware Datetime aware = datetime.now(pytz.utc) print('Timezone Aware:', aware) # US/Central timezone datetime aware_us_central = datetime.now(pytz.timezone('US/Central')) print('US Central DateTime', aware_us_central)4: Chuyển đổi thời gian của múi giờ cụ thể thành múi giờ khácTạo đối tượng DateTime Agnes Aware DateTime Trong Python, một đối tượng ngày có thể được đề cập có hoặc không có múi giờ. Dựa trên đó, một đối tượng được gọi là ngây thơ hoặc nhận thức. Một đối tượng ngày, theo mặc định, là ngây thơ. Một đối tượng DateTime hoặc thời gian được biết nếu nó giữ giá trị múi giờ (TZ).
Example::
Output:: Timezone naive: 2021-07-09 13:22:02.256978
Để có được DateTime CDT, chúng tôi đã sử dụng khu vực ‘US/Central, để tạo ra một múi giờ. Phần bù ở cuối là -05: 00 là phần bù UTC của vùng CDT Tham khảo danh sách tất cả các múi giờ trong Python nếu bạn không biết tên chính xác của múi giờ để tạo ngày và thời gian trong đúng múi giờ., use the following code.
Để làm cho timezone DateTime cũ/hiện tại nhận thức được, hãy sử dụng mã sau.: The Timezone naive: 2021-07-09 13:22:02.2569781 method return the new Timezone naive: 2021-07-09 13:22:02.2569782 instance. Lưu ý: Phương thức Định dạng UTC DateTime để lấy tên múi giờ
Trích xuất tên múi giờ từ DateTime UTC bằng định dạng DateTime trong Python. Sử dụng Chỉ thị Lưu ý: IST là tên múi giờTạo đối tượng DateTime Agnes Agree Agree bằng lớp Timezone Hãy cùng xem cách tạo ra một đối tượng Timezone naive: 2021-07-09 13:22:02.2569782 nhận thức về thời gian mà không có pytz. Các mô -đun DateTime có lớp Timezone naive: 2021-07-09 13:22:02.2569785, từ đó là lớp con của lớp cơ sở trừu tượng Timezone naive: 2021-07-09 13:22:02.2569786. Mỗi trường hợp được tạo ra của lớp timezone đại diện cho độ lệch của múi giờ từ Thời gian phổ biến (UTC) phối hợp. Syntax::
Chúng ta có thể tạo đối tượng UTC-Aware Timezone naive: 2021-07-09 13:22:02.2569782 bằng cách gán Timezone naive: 2021-07-09 13:22:02.2569788 Example::
Lưu ý: Chúng tôi đang đặt phần bù UTC bằng lớp Timedelta 0Nhận thời gian hiện tại trong các múi giờ khác nhauSử dụng mô -đun PYTZ, chúng tôi có thể nhận được ngày và thời gian hiện tại của bất kỳ timezone nào. Syntax::
Steps::
Lưu ý: UTC - Thời gian phối hợp là tiêu chuẩn thời gian phổ biến trên toàn thế giới. Vì vậy, để làm việc với múi giờ mà không có bất kỳ vấn đề nào, bạn nên sử dụng UTC làm thời gian cơ bản của bạn.: UTC – Coordinated Universal Time is the common time standard across the world. So, to work with the timezone without any issues, it is recommended to use the UTC as your base timezone. Trong ví dụ này, chúng tôi sẽ thấy cách lấy dữ liệu hiện tại trong thời gian sau đây Hoa Kỳ: Nhận ngày và giờ hiện tại trong thời gian sau của Hoa Kỳ: Get current Date and Time in the following TimeZones of United States
Output:: 0Thời gian khác 1Output:: 2Ngoài ra, xem: Chuyển đổi giữa thời gian: Convert between timezones Nhận thông tin về thời gian bằng TZINFO 0 là một lớp cơ sở trừu tượng chứa thông tin về ngày hoặc đối tượng thời gian được truyền cho họ.TZINFO thường chứa các thông tin sau: -
Lớp TZINFO cung cấp phương pháp sau để có được thông tin múi giờ: -
Example:: 3Mã của chúng tôi đã tạo ra các thông tin sau: 4Các mô -đun DateTime & NBSP; Chuyển đổi giữa thời gianSử dụng phương thức 3 để chuyển đổi DateTime từ thời gian này sang múi giờ khác. Phương thức này sử dụng một thể hiện của đối tượng DateTime và trả về một datetime mới của một múi giờ nhất định. 5Output:: 6Lưu ý: Để làm việc với múi giờ mà không có bất kỳ vấn đề nào, nên sử dụng UTC làm múi giờ cơ sở của bạn không phải là thời gian địa phương.: To work with the timezone without any issues, it is recommended to use the UTC as your base timezone not a local time. Như đã đề cập, chúng ta có thể chuyển đổi một DateTime ngây thơ thành một thể hiện DateTime Aware với giá trị múi giờ được đặt thành giá trị tiêu chuẩn hóa cục bộ. Chúng ta có thể làm điều đó với một trong các phương thức 4 được gọi là ________ 55 (). Phương pháp này được sử dụng để chuyển đổi một ngây thơ sang thời gian địa phương. Nó chấp nhận hai đối số, cụ thể là đối tượng DateTime để bản địa hóa và cờ 6 tùy chọn.Cờ này được đặt thành True nếu chúng ta muốn bản địa hóa và thông tin tiết kiệm ánh sáng ban ngày và sai nếu chúng ta chỉ muốn thời gian bù tiêu chuẩn và sai. Như đã đề cập ở trên Timezone naive: 2021-07-09 13:22:02.2569786 có một phương thức gọi là 8 sẽ trả về thông tin về thời gian tiết kiệm ánh sáng ban ngày (DST) nếu cờ được đặt thành true.Hãy cho chúng tôi xem một ví dụ để chỉ ra cách chúng tôi có thể đặt múi giờ địa phương và lấy thông tin DST. 7Đầu ra 8Làm thế nào để bạn bù đắp thời gian trong Python?Hàm UTCoffset () được sử dụng để trả về một đối tượng TimeDelTA đại diện cho sự khác biệt giữa thời gian cục bộ và thời gian UTC. Hàm này được sử dụng trong lớp DateTime của DateTime. Ở đây phạm vi của utcoffset là thời gian (giờ = 24)utcoffset() function is used to return a timedelta object that represents the difference between the local time and UTC time. This function is used in used in the datetime class of module datetime. Here range of the utcoffset is “timedelta(hours=24) <= offset <= timedelta(hours=24)”.
Làm thế nào để bạn bù múi giờ?Một vùng bù là sự khác biệt về giờ và phút giữa một múi giờ cụ thể và UTC.Trong ISO 8601, phần bù vùng cụ thể có thể được chỉ định trong một ngày hoặc giá trị thời gian.Phần bù vùng có thể là Z cho UTC hoặc nó có thể là một giá trị "+" hoặc "-" từ UTC.the difference in hours and minutes between a particular time zone and UTC. In ISO 8601, the particular zone offset can be indicated in a date or time value. The zone offset can be Z for UTC or it can be a value "+" or "-" from UTC.
Làm cách nào để thay đổi múi giờ trong Python?Sử dụng phương thức DateTime.astimezone () để chuyển đổi DateTime từ múi giờ này sang phương thức khác.Phương thức này sử dụng một thể hiện của đối tượng DateTime và trả về một datetime mới của một múi giờ nhất định. astimezone() method to convert the datetime from one timezone to another. This method uses an instance of the datetime object and returns a new datetime of a given timezone.
Làm cách nào để đặt múi giờ UTC trong Python?Bạn cũng có thể sử dụng mô-đun PYTZ để tạo các đối tượng nhận biết thời gian.Đối với điều này, chúng tôi sẽ lưu trữ ngày và giờ hiện tại trong một biến mới bằng cách sử dụng DateTime.Bây giờ () hàm của mô -đun DateTime và sau đó chúng ta sẽ thêm múi giờ bằng hàm múi giờ của mô -đun PYTZ. |