如何获得自 1970 年 1 月 1 日以来 Python 日期时间对象的秒数?

我正在使用 Python 3.7 和 Django。我想获取日期时间对象自 1970 年 1 月 1 日以来的秒数(或毫秒)。按照这里的建议——在 Python 中,如何将 `datetime` 对象转换为秒?,我实现了


now = datetime.now()

...

return [len(removed_elts) == 0, score, now.total_seconds()]

但是“now.total_seconds()”行给出了错误


AttributeError: 'datetime.datetime' object has no attribute 'total_seconds'

自 1970 年 1 月 1 日以来获得秒数的正确方法是什么?


达令说
浏览 275回答 3
3回答

尚方宝剑之说

与您提到的建议相反,您不调用total_seconds()对象timedelta而是调用datetime对象,该对象根本没有此属性。因此,Python 3.7(和 2.7)的一种解决方案可以是:import datetimenow = datetime.now()then = datetime.datetime(1970,1,1)...return [len(removed_elts) == 0, score, (now - then).total_seconds()]Python 3.3+ 的另一个更短但不太清晰(至少乍一看)的解决方案(此问题归功于ababak):import datetimenow = datetime.now()...return [len(removed_elts) == 0, score, now.timestamp()]

www说

import timeprint(time.time())输出:1567532027.192546

慕姐8265434

这应该有效。import datetimefirst_date = datetime.datetime(1970, 01, 01)time_since = datetime.datetime.now() - first_dateseconds = int(time_since.total_seconds())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python