从Python的datetime获取时间戳(秒)

28

如何从datetime结构中获取时间戳?如果datetime.utcnow().timestamp()不存在,有哪些正确的替代方法?


1
下面这个答案比被采纳的答案简单得多:https://dev59.com/lVkS5IYBdhLWcg3w6qTU#56689007 - mattyb
5个回答

62
使用timeint来去除毫秒。
from time import time 

int(time())

# 1561043225

12
import time,datetime
time.mktime(datetime.datetime.today().timetuple())

1
非常繁琐的解决方案。就像Python一样,为了这么小的工作而进行了许多操作。C有time()函数,它运行得非常好 :) - kyb

10
有另一种愚蠢的技巧 - 实现 timedelta
(datetime.utcnow()-datetime(1970,1,1,0,0,0)).total_seconds()

这里发现。 更好的方法

(datetime.utcnow()-datetime.fromtimestamp(0)).total_seconds()

这个解决方案包含亚秒级别的内容。


9
如果您不需要从日期时间结构中获取时间戳,可以按照以下方式减少指令。
import time
print time.time()

这个构造函数返回自纪元以来的秒数作为浮点数,例如:1558442772.1057804 - Prisacari Dmitrii

-3

如果我正确理解了你所需要的输出类型:

from datetime import datetime
timestamp = datetime.now().strftime("%H:%M:%S")
print(timestamp)

> 11:44:40

编辑:看来我误解了你的问题?你要求的是本初子午线时间,那么galaxyan的答案很简洁。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接