Hướng dẫn convert utc to local time python - chuyển đổi utc sang python giờ địa phương
Tôi chưa bao giờ phải chuyển đổi thời gian đến và từ UTC. Gần đây có một yêu cầu để ứng dụng của tôi nhận thức được Timezone và tôi đã tự mình chạy theo vòng tròn. Rất nhiều thông tin về việc chuyển đổi thời gian địa phương sang UTC, mà tôi thấy khá cơ bản (có thể tôi cũng đang làm điều đó sai), nhưng tôi không thể tìm thấy bất kỳ thông tin nào về việc dễ dàng chuyển đổi thời gian UTC sang múi giờ của người dùng cuối. Show Tóm lại, ứng dụng Android sẽ gửi cho tôi dữ liệu (ứng dụng appengine) và trong dữ liệu đó là dấu thời gian. Để lưu trữ dấu thời gian đó vào thời gian UTC tôi đang sử dụng:
Điều đó dường như đang hoạt động. Khi ứng dụng của tôi lưu trữ dữ liệu, nó đang được lưu trữ trước 5 giờ (tôi là EST -5) Dữ liệu đang được lưu trữ trên BigTable của AppEngine và khi được truy xuất, nó xuất hiện dưới dạng một chuỗi như vậy:
Làm cách nào để chuyển đổi chuỗi này thành DateTime trong múi giờ chính xác của người dùng? Ngoài ra, lưu trữ được đề xuất cho thông tin thời gian của người dùng là gì? (Làm thế nào để bạn thường lưu trữ thông tin TZ IE: "-5: 00" hoặc "EST", v.v.
Martineau Huy hiệu vàng 116K2525 gold badges160 silver badges285 bronze badges hỏi ngày 22 tháng 1 năm 2011 lúc 20:14Jan 22, 2011 at 20:14
2 Nếu bạn không muốn cung cấp các đối tượng 1 của riêng mình, hãy xem Thư viện Python-Datesutil. Nó cung cấp các triển khai 1 trên cơ sở dữ liệu ZoneInfo (Olson) sao cho bạn có thể đề cập đến các quy tắc múi giờ bằng một tên chính thức.
Chỉnh sửa ví dụ mở rộng để hiển thị 3
usageChỉnh sửa 2 Sử dụng API đã cố định để hiển thị phương thức điểm nhập tốt hơn Fixed API usage to show better entry point method Chỉnh sửa 3 bao gồm các phương thức phát hiện tự động cho múi giờ (Yarin) Included auto-detect methods for timezones (Yarin) Đã trả lời ngày 23 tháng 1 năm 2011 lúc 1:23Jan 23, 2011 at 1:23
Joe Hollowayjoe HollowayJoe Holloway Phim thương hiệu vàng 27.5K1515 gold badges80 silver badges92 bronze badges 24 Đây là một phương pháp kiên cường không phụ thuộc vào bất kỳ thư viện bên ngoài nào:
Điều này tránh các vấn đề thời gian trong ví dụ của Delboyjay. Và các vấn đề thời gian ít hơn trong Sửa đổi của Erik Van Oosten. Là một chú thích thú vị, phần bù múi giờ được tính toán ở trên có thể khác với biểu thức dường như tương đương sau đây, có lẽ là do thay đổi quy tắc tiết kiệm ánh sáng ban ngày:
CẬP NHẬT: Đoạn trích này có điểm yếu của việc sử dụng phần bù UTC của thời điểm hiện tại, có thể khác với phần bù UTC của DateTime đầu vào. Xem ý kiến về câu trả lời này cho một giải pháp khác. This snippet has the weakness of using the UTC offset of the present time, which may differ from the UTC offset of the input datetime. See comments on this answer for another solution. Để có được những thời điểm khác nhau, hãy lấy thời gian kỷ nguyên từ thời điểm trôi qua. Đây là những gì tôi làm:
Đã trả lời ngày 8 tháng 10 năm 2013 lúc 3:24Oct 8, 2013 at 3:24
David Fosterdavid FosterDavid Foster 6.1883 huy hiệu vàng38 Huy hiệu bạc38 Huy hiệu đồng3 gold badges38 silver badges38 bronze badges 7 Xem tài liệu DateTime trên các đối tượng TZINFO. Bạn phải thực hiện thời gian mà bạn muốn hỗ trợ chính mình. Các ví dụ ở dưới cùng của tài liệu. Đây là một ví dụ đơn giản:
Đầu ra
Đã trả lời ngày 22 tháng 1 năm 2011 lúc 21:22Jan 22, 2011 at 21:22
Mark Tolonenmark TolonenMark Tolonen 156K24 Huy hiệu vàng163 Huy hiệu bạc237 Huy hiệu Đồng24 gold badges163 silver badges237 bronze badges 4 Nếu bạn muốn có được kết quả chính xác ngay cả trong thời gian tương ứng với thời gian địa phương mơ hồ (ví dụ: trong quá trình chuyển đổi DST) và/hoặc bù UTC cục bộ khác nhau vào các thời điểm khác nhau trong múi giờ địa phương của bạn thì hãy sử dụng thời gian 4:
Đã trả lời ngày 2 tháng 10 năm 2015 lúc 9:57Oct 2, 2015 at 9:57
JFSJFSjfs 384K183 Huy hiệu vàng949 Huy hiệu bạc1621 Huy hiệu Đồng183 gold badges949 silver badges1621 bronze badges 0 Câu trả lời này sẽ hữu ích nếu bạn không muốn sử dụng bất kỳ mô -đun nào khác ngoài 5. 6 trả về một đối tượng 5 ngây thơ (không phải là một nhận thức). Những người nhận thức là thời gian nhận thức được, và ngây thơ thì không. Bạn muốn nhận thức một cái nếu bạn muốn chuyển đổi giữa thời gian (ví dụ: giữa UTC và giờ địa phương).Nếu bạn không phải là người khởi tạo ngày bắt đầu, nhưng bạn vẫn có thể tạo một đối tượng 5 ngây thơ trong thời gian UTC, bạn có thể muốn thử mã Python 3.x này để chuyển đổi nó:
Hãy cẩn thận để không nhầm lẫn rằng nếu timezone của bạn hiện là MDT, tiết kiệm ánh sáng ban ngày không hoạt động với mã trên vì nó in MST. Bạn sẽ lưu ý rằng nếu bạn thay đổi tháng đến tháng 8, nó sẽ in MDT. Một cách dễ dàng khác để có được một đối tượng 5 nhận thức (cũng trong Python 3.x) là tạo nó với một múi giờ được chỉ định để bắt đầu. Đây là một ví dụ, sử dụng UTC: 0Nếu bạn sử dụng Python 2.x, có lẽ bạn sẽ phải phân lớp 0 và sử dụng nó để giúp bạn tạo đối tượng 5 nhận thức, vì 2 không tồn tại trong Python 2.x.Đã trả lời ngày 21 tháng 9 năm 2017 lúc 8:53Sep 21, 2017 at 8:53
BrōtsyorfuzthrāxbrōtsyorfuzthrāxBrōtsyorfuzthrāx 4.0573 Huy hiệu vàng33 Huy hiệu bạc53 Huy hiệu Đồng3 gold badges33 silver badges53 bronze badges 0 Nếu sử dụng Django, bạn có thể sử dụng phương pháp 3: 1
Funnydman 7.2863 Huy hiệu vàng27 Huy hiệu bạc 50 Huy hiệu Đồng3 gold badges27 silver badges50 bronze badges Đã trả lời ngày 4 tháng 8 năm 2014 lúc 14:08Aug 4, 2014 at 14:08
frmdssryrfrmdstryrfrmdstryr Phim thương hiệu vàng 18,9K33 gold badges37 silver badges31 bronze badges Hợp nhất câu trả lời từ Franksands thành một phương pháp thuận tiện. 2Đã trả lời ngày 21 tháng 2 năm 2020 lúc 5:51Feb 21, 2020 at 5:51
MartlarkmartlarkMartlark 13.5K12 Huy hiệu vàng80 Huy hiệu bạc96 Huy hiệu đồng12 gold badges80 silver badges96 bronze badges Bạn có thể sử dụng mũi tên 3Bạn có thể cho ăn 4 với bất cứ điều gì. Dấu thời gian, chuỗi ISO, v.v.Đã trả lời ngày 4 tháng 4 năm 2018 lúc 14:07Apr 4, 2018 at 14:07
d21d3qd21d3qd21d3q 3552 Huy hiệu bạc9 Huy hiệu Đồng2 silver badges9 bronze badges 1 Sau đây làm việc cho tôi trong môi trường đám mây cho chúng tôi về phía tây: 4Đã trả lời ngày 11 tháng 5 năm 2021 lúc 17:08May 11, 2021 at 17:08
JiejieJie 9821 Huy hiệu vàng10 Huy hiệu bạc17 Huy hiệu đồng1 gold badge10 silver badges17 bronze badges 0 Bạn có thể sử dụng 5 để chuyển đổi thời gian của mình thành vài giây kể từ UNIX Epoch và 6 để chuyển đổi trở lại: 5Cho 7 (vì tôi đang ở UTC+03: 00 múi giờ).Đã trả lời ngày 8 tháng 6 năm 2017 lúc 15:52Jun 8, 2017 at 15:52
myautmyautmyaut 10,9k2 Huy hiệu vàng28 Huy hiệu bạc61 Huy hiệu Đồng2 gold badges28 silver badges61 bronze badges 6Khi tôi nhập 8 = 2018-10-17T00: 00: 00.111z, (UTC +00: 00 00 thì tôi sẽ nhận được 9 = 2018-10-17T08: 00: 00 +08: 00 )then I will get 9 = 2018-10-17T08:00:00+08:00 (My target timezone +08:00)Tham số 0 là một định dạng được xác định bởi 8 cụ thể của bạn. Tham số 2 là định dạng mong muốn cuối cùng.parameter 2 is the final desired format.Trong trường hợp của tôi, định dạng mong muốn của tôi là 3 (+08: 00 múi giờ). Bạn nên xây dựng định dạng bạn muốn.
Đã trả lời ngày 17 tháng 10 năm 2018 lúc 10:50Oct 17, 2018 at 10:50
1 Theo truyền thống, tôi trì hoãn điều này đến mặt trận - gửi thời gian từ phần phụ trợ dưới dạng dấu thời gian hoặc một số định dạng DateTime khác trong UTC, sau đó để khách hàng tìm ra thời gian bù và hiển thị dữ liệu này theo thời gian thích hợp. Đối với một ứng dụng web, điều này khá dễ thực hiện trong JavaScript - bạn có thể tìm ra thời gian của trình duyệt bù khá dễ dàng bằng cách sử dụng các phương thức tích hợp và sau đó hiển thị dữ liệu từ phần phụ trợ đúng cách. Đã trả lời ngày 23 tháng 1 năm 2011 lúc 0:58Jan 23, 2011 at 0:58
1 Từ câu trả lời ở đây, bạn có thể sử dụng mô -đun thời gian để chuyển đổi từ UTC sang thời gian cục bộ được đặt trong máy tính của bạn: 7Đã trả lời ngày 13 tháng 12 năm 2018 lúc 11:52Dec 13, 2018 at 11:52
Franksandsfranksandsfranksands 1.68418 Huy hiệu bạc21 Huy hiệu đồng18 silver badges21 bronze badges Điều này làm việc cho tôi: 8
Zygd Phim huy hiệu vàng 18.8K3838 gold badges70 silver badges89 bronze badges Đã trả lời ngày 21 tháng 1 lúc 13:08Jan 21 at 13:08
Dưới đây là phiên bản nhanh chóng và bẩn sử dụng cài đặt hệ thống cục bộ để tìm ra sự khác biệt về thời gian. Lưu ý: Điều này sẽ không hoạt động nếu bạn cần chuyển đổi thành múi giờ mà hệ thống hiện tại của bạn không chạy. Tôi đã thử nghiệm điều này với các cài đặt của Vương quốc Anh theo thời gian BST 9Đã trả lời ngày 15 tháng 4 năm 2013 lúc 9:38Apr 15, 2013 at 9:38
DelboyjaydelboyjayDelboyJay 2.6991 Huy hiệu vàng12 Huy hiệu bạc17 Huy hiệu đồng1 gold badge12 silver badges17 bronze badges 3 Ngắn và đơn giản: 0Đã trả lời ngày 9 tháng 2 lúc 18:44Feb 9 at 18:44
Eric McLachlaneric McLachlanEric McLachlan 2.6961 Huy hiệu vàng23 Huy hiệu bạc34 Huy hiệu đồng1 gold badge23 silver badges34 bronze badges Làm thế nào để bạn chuyển đổi UTC sang giờ địa phương ở Python?Chuyển đổi chuỗi DateTime UTC sang thời gian cục bộ.. Tạo một đối tượng DateTime từ chuỗi thời gian UTC .. Đối tượng DateTime này sẽ không có múi giờ được liên kết với nó. .... Chuyển đổi múi giờ của đối tượng DateTime thành múi giờ cục bộ bằng cách gọi hàm astimezone () trên đối tượng DateTime .. Làm thế nào để bạn chuyển đổi thời gian UTC sang giờ địa phương?Làm thế nào để chuyển đổi thời gian UTC sang thời gian địa phương.. Nhấp vào Bắt đầu, nhấp vào Chạy, Nhập Timedate. CPL, rồi bấm OK .. Nhấp vào tab múi giờ, sau đó xác minh rằng múi giờ địa phương của bạn được chọn. Nếu múi giờ địa phương của bạn không được chọn, hãy nhấp vào danh sách các múi giờ có sẵn .. Làm cách nào để chuyển đổi UTC sang thời gian địa phương ở Pandas?Để chuyển đổi dấu thời gian ngây thơ sang múi giờ địa phương, hãy sử dụng dấu thời gian ... Nhập GANDAS dưới dạng PD.Tạo dấu thời gian ngây thơ .. Timestamp = pd.Timestamp ('2021-09-14T15: 12: 34.261811624') Thêm múi giờ .. TIMESTAMP.TZ_LOCISIALL (TZ = 'Australia/Brisbane').Sau đây là mã .. Làm cách nào để chuyển đổi dấu thời gian UTC thành DateTime trong Python?Chuyển đổi thời gian UNIX (thời gian epoch) sang DateTime: Fromtimestamp ().. Nhập DateTime DT = DateTime.ngày giờ..... DT_UTC_AWARE = DateTime.ngày giờ..... DT_UTC_NAIVE = DateTime.ngày giờ..... in (dt) # 1970-01-01 09:00:00 in (dt. Timestamp ()) # 0.0 in (loại (dt. .... in (dt_utc_aware) # 1970-01-01 00: 00: 00+00: 00 in (DT_UTC_AWARE .. |