Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 将日期、日期时间转换为时间戳_Datetime_Python 3.x_Python - Fatal编程技术网

Datetime 将日期、日期时间转换为时间戳

Datetime 将日期、日期时间转换为时间戳,datetime,python-3.x,python,Datetime,Python 3.x,Python,在Python中,如何从date或datetime生成毫秒精度的时间戳 有大量的方法和方法可以做到这一点,我想知道哪一种是最具Python风格的方法。Python中的date对象没有保留wallclock时间的概念。若你们想得到一个日期对象,并得到一个毫秒的表示,那个么它将是0 datetime模块跳过毫秒,其格式设置支持微秒。因此,当您打印日期时间或在解释器中看到日期时间时,最后一个字段是微秒。如果需要毫秒,可以将该字段除以1000 下面是来自Python 3.2b2解释器会话的两个示例。这里

在Python中,如何从
date
datetime
生成毫秒精度的时间戳


有大量的方法和方法可以做到这一点,我想知道哪一种是最具Python风格的方法。

Python中的date对象没有保留wallclock时间的概念。若你们想得到一个日期对象,并得到一个毫秒的表示,那个么它将是0

datetime模块跳过毫秒,其格式设置支持微秒。因此,当您打印日期时间或在解释器中看到日期时间时,最后一个字段是微秒。如果需要毫秒,可以将该字段除以1000

下面是来自Python 3.2b2解释器会话的两个示例。这里有一些额外的东西,所以你可以看到我获取时间戳的基本路线。不能将其视为以下各项的替代品:


什么是最有吸引力的方式取决于当你说“时间戳”时你想要什么。数字还是字符串

对于字符串,
d.isoformat()
是最简单的。对于数字,您需要:

time.mktime(d.timetuple()) + d.microsecond/1000000.0

这是假设
datetime
对象。我不知道你说你想从
date
对象得到毫秒精度的时间戳是什么意思<代码>日期对象甚至没有秒,更不用说毫秒了。:-)

以下内容适用于我的目的:

从毫秒时间戳到日期时间

从日期时间到毫秒时间戳


请注意,unix时间戳传统上是UTC,mktime()取决于时区。使用calendar.timegm()(请参阅)。小心,最后一个操作将给定的日期时间解释为本地时间,而不是UTC!
time.mktime(d.timetuple()) + d.microsecond/1000000.0
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