我正在尝试从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/

10-13 07:30