Làm cách nào để thay đổi múi giờ trong python?
Đôi khi các kỹ sư sản phẩm hoặc cơ sở hạ tầng phải làm việc trên các cơ sở hạ tầng trải rộng khắp thế giới. Họ phải làm việc với các máy của Mỹ, Châu Á, Châu Âu, Anh, v.v. Vì vậy, các múi giờ đều quan trọng hơn đối với Python Show Với sự tiến bộ không ngừng của các ngôn ngữ lập trình ngày nay, có rất nhiều mô-đun được duy trì trong hầu hết các ngôn ngữ lập trình. Trong python, chúng tôi có một mô-đun múi giờ gọi là pytz, cho phép tính toán múi giờ đa nền tảng theo thời gian thực Nhận ngày và giờ hiện tại ở một định dạng cụ thểĐể bắt đầu, chúng tôi sẽ nhập thư viện múi giờ từ mô-đun pytz Để cài đặt mô-đun này, bạn có thể sử dụng lệnh pip này pip install pytz Hoặc cho Linux $ sudo pip install pytz Chúng tôi cũng sẽ cần nhập datetime từ mô-đun datetime. Với mục đích thống nhất, chúng tôi có thể chỉ định định dạng mà chúng tôi muốn đầu ra ngày và giờ của chúng tôi là. Trong chương trình này, chúng tôi sẽ chỉ định nó ở dạng YY-MM-DD HH. MM. định dạng SS Trên thư viện datetime, chúng ta sẽ gọi phương thức now() để lấy thời gian hiện tại ở định dạng đã chỉ định và khi mã được chạy. Tuy nhiên, định dạng múi giờ đầu ra sẽ ở định dạng đối tượng ngày giờ. Vì vậy, để thay đổi nó thành định dạng dễ đọc hơn, chúng tôi chuyển đổi nó sang định dạng chuỗi thời gian bằng cách gọi phương thức strftime() trên đó from pytz import timezone from datetime import datetime time_format = '%Y-%m%d %H:%M:%S %Z%z' default_now = datetime.now() formatted_now = datetime.now().strftime(time_format) print("Date Time in defaut format: ", default_now, '\n') print("Date Time in string format: ", formatted_now) đầu ra Date Time in defaut format: 2021-11-19 04:37:14.537946 Date Time in string format: 2021-1119 04:37:14 Chuyển đổi ngày và giờ hiện tại thành nhiều múi giờBây giờ, chúng tôi sẽ tạo một danh sách các múi giờ và lặp qua nó để chuyển đổi thời gian hiện tại thành múi giờ đó. Chúng tôi sẽ đặt các múi giờ khác nhau từ Hoa Kỳ, Châu Âu, Châu Á và UTC là tiêu chuẩn timezones = ['US/Central', 'Europe/London', 'Asia/Kolkata', 'Australia/Melbourne', 'UTC'] for tz in timezones: dateTime = datetime.now(timezone(tz)).strftime(time_format) print(f"Date Time in {tz} is {dateTime}") đầu ra Date Time in US/Central is 2021-1118 17:23:51 CST-0600 Date Time in Europe/London is 2021-1118 23:23:51 GMT+0000 Date Time in Asia/Kolkata is 2021-1119 04:53:51 IST+0530 Date Time in Australia/Melbourne is 2021-1119 10:23:51 AEDT+1100 Date Time in UTC is 2021-1118 23:23:51 UTC+0000 Sau đó, chúng ta sẽ lặp qua tất cả các múi giờ trong danh sách mà chúng ta đã tạo làm tham số của phương thức now() trên thư viện datetime để lấy tất cả các múi giờ và thời gian hiện tại ở các múi giờ tương ứng. Chúng tôi cũng sẽ chuyển đổi nó sang định dạng chuỗi để thuận tiện hơn khi đọc Mẹo nhanh ngắn này phục vụ nhiều hơn như một lời nhắc nhở cho bản thân tôi. Tôi biết tôi không chỉ nói cho bản thân mình khi tôi nói việc chuyển đổi ngày và giờ giữa các múi giờ có thể thực sự khiến bạn đau đầu. Đây là bản tóm tắt nhanh về xử lý chuyển đổi múi giờ với các đối tượng datetime trong Python Bài viết nhanh này sẽ mô tả
Chúng ta sẽ cần hai thư viện Python cho việc này, pytz và Python's datetime
Nếu bạn muốn chuyển đổi bất kỳ ngày giờ nào từ múi giờ này sang múi giờ khác, trước tiên chúng ta cần biết múi giờ ban đầu và gán nó cho đối tượng datetime Trong ví dụ trên, chúng tôi biết Chỉ định múi giờHãy mang Pytz vào
Để xem tất cả các múi giờ mà Pytz có, for tz in pytz.all_timezones: Hãy chỉ định múi giờ cho
Trong thiết bị đầu cuối và gõ datetime.datetime(2020, 5, 13, 8, 39, 29, 220134, tzinfo= Nếu chúng ta 2020–05–13 08. 39. 07. 109762+00. 00 Chúng tôi biết múi giờ Chuyển đổi giữa các múi giờBây giờ, nếu chúng ta muốn chuyển đổi giữa các múi giờ, các đối tượng Giả sử tôi muốn chuyển đổi sang múi giờ của Brisbane (ở Úc) (tôi làm việc với một khách hàng ở Úc, nơi đã truyền cảm hứng cho bài viết này) brisbane = utcnow. múi giờ astime(pytz. múi giờ(“Úc/Brisbane”)) Nếu bây giờ chúng ta gõ datetime.datetime(2020, 5, 13, 18, 11, 14, 960814, tzinfo= Nếu chúng tôi 2020–05–13 18. 11. 14. 960814+10. 00 Bản tóm tắt
Thời gian hạnh phúc, chuyển đổi hạnh phúc
|