1
A
回答
4
比方說,你有時區日期時間:
import datetime
import pytz
d = datetime.datetime(2012, 1, 1, 0, 0, 0, tzinfo=pytz.utc)
In [54]: d
Out[54]: datetime.datetime(2012, 1, 1, 0, 0, tzinfo=<UTC>)
將其轉換爲阿姆斯特丹時間,使用:
ams = pytz.timezone('Europe/Amsterdam')
In [55]: d.astimezone(ams)
Out[55]: datetime.datetime(2012, 1, 1, 1, 0, tzinfo=<DstTzInfo 'Europe/Amsterdam' CET+1:00:00 STD>)
pst = timezone('US/Pacific')
In [118]: d.astimezone(pst)
Out[118]: datetime.datetime(2011, 12, 31, 16, 0, tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:00 STD>)
如果我們有沒有時區(天真的日期時間)日期時間,我們可以將其轉換爲:
dd = datetime.datetime(2012, 2, 2, 0, 0)
ams.localize(naive_dt).astimezone(pst) # set it as 'ams' first, then convert to pst
Out[131]: datetime.datetime(2012, 2, 1, 15, 0, tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:00 STD>)
要查看兩個時區之間的差異:
In [137]: ams.utcoffset(datetime.datetime(2012,1,1))
Out[137]: datetime.timedelta(0, 3600)
In [138]: pst.utcoffset(datetime.datetime(2012,1,1))
Out[138]: datetime.timedelta(-1, 57600)
所以AMS根據UTC + 1H,和PST是-8(-1天和+ 16H)
編輯:如在docs解釋的,這樣的:
datetime(2002, 10, 27, 12, 0, 0, tzinfo=amsterdam)
不管用。
+0
你應該提到夏令時。 –
+0
除非您提供is_dst kwarg參數,否則pytz的utcoffset將在大多數DST時區中每年一小時拋出AmbiguousTimeError。見http://pytz.sourceforge.net/#tzinfo-api我會避開它。 –
相關問題
- 1. 與UTC的時差java
- 2. 時區與UTC相關的時區
- 3. 與UTC時區的Jboss
- 4. 在特定時區UTC時間偏差發生變化時獲取日期
- 5. 如何獲得給定時區的「午夜」的UTC時間?
- 6. 與特定日獲取時間差
- 7. 與時區計算時差
- 8. 問題與convering UTC時間particluar時區
- 9. 使用joda API和UTC時區錯誤時差(分鐘/小時)
- 10. Python - 如果給定GMT偏移和給定的UTC - 如何獲取當前時間在一個時區?
- 11. 獲取時差(小時)
- 12. 如何獲得當前的UTC時差(時區)?
- 13. Perl獲取UTC時間並獲得UTC時間戳之間的差異
- 14. 小時的時差與小數點後兩位小數點差
- 15. 添加時區與時間的差異
- 16. 確定給定時區的UTC時間是否在DST
- 17. 與GMT導致小時變化的時區差異?
- 18. 計算與另一個時區的小時差
- 19. XQuery - 確定給定時區中給定UTC時間是否屬於夏令時
- 20. 獲取UTC時間給定TZID和當地時間
- 21. 從python的時區名稱獲取UTC偏移量
- 22. 以UTC格式獲得UTC時區+/-
- 23. 如何在javascript中將時區與時區轉換爲UTC
- 24. 獲取用戶時區並將utc轉換爲用戶時區
- 25. python pytz timezone與UTC時間相同
- 26. 如何獲得給定時區的秒 - 在Perl中的UTC時間
- 27. 時區感知與時區天真python
- 28. C#與整數12小時時差
- 29. 的Python:將UTC時間,本地時間給UTC偏移
- 30. 轉換毫秒與UTC時區UTC日期對象
也許這可能是有用的:http://stackoverflow.com/questions/6528391/python-how-to-get-utc-time-given-timezone – mmot
你試過[pytz](http:// pytz。 sourceforge.net/) – Rohan
@MariaZverina我有一個日期時間對象,它目前採用UTC + 2格式(歐洲/阿姆斯特丹)。我必須將其轉換回UTC。如果我能得到「歐洲/阿姆斯特丹」和UTC之間的時差,那很容易:-2。然後我可以做一些事情:mydate = nlDate - timedelte(hours = 2)。我只是不知道如何獲得兩個時區之間的差異。 – w00