如何将诸如 20.12.2016 09:38:42,76
类的人类可读时间转换为以 毫秒为单位 的 Unix 时间戳?
原文由 Tom 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将诸如 20.12.2016 09:38:42,76
类的人类可读时间转换为以 毫秒为单位 的 Unix 时间戳?
原文由 Tom 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于那些在没有解析和丢失毫秒的情况下搜索答案的人,给定 dt_obj
是一个日期时间:
仅限python3,优雅
int(dt_obj.timestamp() * 1000)
python2 和 python3 兼容:
import time
int(time.mktime(dt_obj.utctimetuple()) * 1000 + dt_obj.microsecond / 1000)
原文由 Ivan Klass 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答893 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
在 Python 3 中,这可以分两步完成:
datetime
对象datetime
对象的时间戳乘以 1000,将其转换为毫秒。例如像这样:
输出:
strptime
接受您的时间字符串和格式字符串作为输入。时间字符串(第一个参数)指定 您 实际要转换为datetime
对象的内容。格式字符串(第二个参数)指定您传递的字符串的实际 _格式_。以下是 官方文档 中格式说明符的解释:
%d
- 以零填充的十进制数表示的月份中的第几天。%m
- 月份作为零填充的十进制数。%Y
- 以世纪为十进制数的年份%H
- 小时(24 小时制)作为零填充的十进制数。%M
- 分钟作为零填充的十进制数。%S
- 第二个作为零填充的十进制数。%f
- 微秒作为十进制数,零填充为 6 位数字。