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. PHP将日期转换为时间戳
- 3. 将EPOCH时间戳转换为日期
- 4. 将日期转换为时间戳
- 5. 将日期转换为jQuery时间戳
- 6. Bash将日期转换为时间戳
- 7. 将MySql日期时间戳转换为JavaScript的日期格式
- 8. 将日期时间转换为时间
- 9. PL SQL - 转换时间戳的日期时间/日期
- 10. 将日期和时间转换为UNIX时代时间戳
- 11. 在查询期间将时间戳转换为可读日期
- 12. 转换日期为时间戳
- 13. PHP日期转换为unix时间戳
- 14. :日期转换为时间戳
- 15. PHP日期转换为时间戳
- 16. 将时间戳转换为日期并将日期转换为时间戳记格式
- 17. 如何将IronPython日期时间转换为.NET日期时间?
- 18. 将日期和时间转换为GMT + 10日期和时间
- 19. Python将秒转换为日期时间日期和时间
- 20. 将日期时间转换为另一日期时间
- 21. 将XML日期时间转换为SQL日期时间
- 22. 乔达:将日期和时间转换为日期时间
- 23. 将日期时间字符串转换为日期时间
- 24. 将时间和日期转换为mysql日期时间
- 25. 在MYSQL中将时间戳转换为日期时间
- 26. 如何将整数时间戳转换为Python日期时间
- 27. 将日期和时间转换为时间戳
- 28. 将Long Int时间戳转换为日期/时间
- 29. 在Python中将未知时间戳转换为日期时间
- 30. 将日期时间数组转换为时间戳Python
注意tha t unix时间戳传统上是UTC,而mktime()是时区相关的。使用calendar.timegm()(请参阅http://stackoverflow.com/questions/2956886/python-calendar-timegm-vs-time-mktime)。 – 2012-04-17 13:44:10