python - 从日期获取毫秒数,但显示比实际少一天

标签 python python-2.7 datetime

我正在尝试在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 中获取它的确切方式是什么吗?

看起来有问题,我试图获取 2017 年 1 月 12 日 的毫秒数,但我的程序返回此值:1484179200000。如果我使用 this online utility 将这些毫秒转换为日期,它显示 Jan 11 2017 而不是 Jan 12 2017

注意:我只能使用Python 2.7版本。 :(

最佳答案

首先,我相信您问题中的一些澄清是表明您正在寻找从纪元到您提供的日期所经过的毫秒数,因为这就是该工具似乎正在做的事情。

做类似事情的简单方法如下:

int(datetime.datetime.now().strftime("%s")) * 1000

替换datetime.datetime.now()使用您自己的日期时间对象。所以完成的功能可能是这样的:

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/

相关文章:

python - 如何转储 request.POST 到 dict,维护多个值字段?

Python:Networkx获取给定两个节点之间具有节点和边的路径

linux - python读取文件编码linux和windows的区别

javascript - 计算该月最后 X 天是否增加月份

Python date.today 显示第二天

python - 考虑到夏令时,如何将本地时间转换为 UTC?

python - 使用 python 的 pty 创建一个实时控制台

python - 为什么 django 会在新创建的对象上给我一个 ObjectDoesNotExist 错误?

python - if 语句中的 bool 表达式过多

python-2.7 - 将 Pandas 系列中的字符串转换为小写时遇到问题