4
A
回答
2
Python中的日期對象不保留wallclock時間的概念。如果你想取一個日期對象並用毫秒來表示,那將全部爲0。
datetime模塊跳過毫秒並在其格式中支持微秒。所以當你打印一個日期時間或者在解釋器中看到一個時,最後一個字段是微秒。如果您需要毫秒,則可以將該字段除以1000.
下面是來自Python 3.2b2解釋器會話的幾個示例。這裏有一些額外的東西,所以你可以看到我用來獲得時間戳的基本路線。它不被視爲reading the docs的替代品:
>>> x = datetime.datetime.today()
>>> y = datetime.date.today()
>>> x
datetime.datetime(2011, 2, 6, 8, 2, 9, 465714)
>>> y
datetime.date(2011, 2, 6)
>>> y.strftime('%Y-%m-%d.%f')
'2011-02-06.000000'
>>> x
datetime.datetime(2011, 2, 6, 8, 2, 9, 465714)
>>> str(x)
'2011-02-06 08:02:09.465714'
>>> x.microsecond
465714
>>> x.time()
datetime.time(8, 2, 9, 465714)
>>> x.time().microsecond/1000
465.714 # milliseconds and microseconds.
>>> int(x.time().microsecond/1000)
465 # milliseconds
>>> s = '{:02d}:{:02d}:{:02d}.{:3d}'.format(r.hour, r.minute, r.second, int(r.microsecond/1000), '2s')
>>> s
'08:02:09.465'
0
什麼是最Python的方式取決於你想要什麼,當你說「時間戳」。一個數字或字符串?
對於字符串,d.isoformat()
是最容易的一個。對於你自己的號碼:
time.mktime(d.timetuple()) + d.microsecond/1000000.0
這是假設datetime
的對象。當你說你想從date
對象獲得毫秒精度時間戳時,我不確定你的意思。 date
對象甚至沒有秒,毫秒更少。 :-)
8
下已經工作了我的目的:
爲datetime從毫秒時間戳
import datetime
timestamp #=> 1317912250955
dt = datetime.datetime.fromtimestamp(time/1000.0)
dt #=> datetime.datetime(2011, 10, 6, 10, 44, 10, 955000)
從日期時間到毫秒的時間戳
import time
dt #=> datetime.datetime(2011, 10, 6, 10, 44, 10, 955000)
timestamp = int((time.mktime(dt.timetuple()) + dt.microsecond/1000000.0)*1000)
timestamp #=> 1317912250955
+3
小心,最後一個操作將給定的日期時間解釋爲本地時間,而不是UTC! – Michael 2012-12-23 04:55:29
相關問題
- 1. 將日期和時間轉換爲日期+時間戳
- 2. Perl - 將日期時間戳轉換爲日期時間對象
- 3. 將日期時間戳轉換爲日期時間
- 4. 將unix時期時間戳轉換爲TSQL日期時間
- 5. 將日期轉換爲Matlab時間戳
- 6. PHP將日期轉換爲時間戳
- 7. Bash將日期轉換爲時間戳
- 8. 將EPOCH時間戳轉換爲日期
- 9. 將日期轉換爲時間戳
- 10. 將日期轉換爲UNIX時間戳
- 11. 將日期轉換爲jQuery時間戳
- 12. 將MySql日期時間戳轉換爲JavaScript的日期格式
- 13. 將日期時間轉換爲時間
- 14. PL SQL - 轉換時間戳的日期時間/日期
- 15. 將日期和時間轉換爲UNIX時代時間戳
- 16. 在查詢期間將時間戳轉換爲可讀日期
- 17. SQL Server時間戳轉換爲日期
- 18. :日期轉換爲時間戳
- 19. ORMLite時間戳轉換爲日期
- 20. PHP日期轉換爲unix時間戳
- 21. 轉換日期爲時間戳
- 22. 時間戳轉換爲日期android
- 23. PHP日期轉換爲時間戳
- 24. 將時間戳轉換爲日期並將日期轉換爲時間戳記格式
- 25. 將C#日期時間轉換爲XML日期時間類型
- 26. 將時間和日期轉換爲mysql日期時間
- 27. 將日期時間轉換爲另一日期時間
- 28. 將日期時間int轉換爲日期時間
- 29. 將當地日期時間轉換爲UTC日期時間
- 30. 如何將IronPython日期時間轉換爲.NET日期時間?
注意tha t unix時間戳傳統上是UTC,而mktime()是時區相關的。使用calendar.timegm()(請參閱http://stackoverflow.com/questions/2956886/python-calendar-timegm-vs-time-mktime)。 – 2012-04-17 13:44:10