我正在尝试从python中打印日期的毫秒数,由于我是Python的新手,所以我使用下面的代码来获取毫秒数,我想在这里与某人核实这是否是获取毫秒数的正确方法:
import datetime
def findmili(date):
return int(date.strftime("%s")) * 1000
x = datetime.datetime.strptime('01/27/2017', "%m/%d/%Y")
print findmili(x)
有人可以帮我验证一下吗,如果这不是正确的获取方式,您能告诉我在python中获取此方式的确切方法是什么。
看起来有问题,我正在尝试获取毫秒级的
Jan 12 2017
,但是我的程序返回了该值:1484179200000
。如果我使用this online utility将这些毫秒转换为日期,则会显示Jan 11 2017
而不是Jan 12 2017
。注意:我必须仅使用Python 2.7版本。
:(
最佳答案
首先,我认为您的问题需要澄清,这表明您正在寻找从纪元到您提供的日期为止经过的毫秒数,因为这似乎是该工具正在做的事情。
一种简单的方法是这样的:
int(datetime.datetime.now().strftime("%s")) * 1000
将
datetime.datetime.now()
替换为您自己的datetime对象。所以完成的功能可能是这样的:import datetime
def findmili(date):
return int(date.strftime("%s")) * 1000
x = datetime.datetime.strptime('10Nov2017', '%d%b%Y')
print findmili(x)
顺便说一句,您的代码实际上不会在python2.7中运行。这是因为,您在第6行中犯了一个错误,实际上它应该是
d = datetime.strptime(myDate, "%m/%d/%Y")
而不是d = datetime.datetime.strptime(myDate, "%m/%d/%Y")
另外,您的代码也是正确的(除了上面的错误)。返回的
1484150400000
返回为Thu Jan 12 2017 00:00:00 GMT+0800
。关于python - 从日期算起的毫秒数,但比实际显示少一天,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47117769/