使用timestamp()方法可将datetime对象转换为秒级时间戳,如now.timestamp()输出浮点数;2. 用int()转换为整数秒;3. 乘以1000并取整得毫秒级时间戳;4. 推荐使用带时区的datetime(如timezone.utc)避免时区错误;5. 字符串时间可先用strptime解析再转时间戳。核心是时间转数字即转时间戳,注意时区与精度。

在 Python3 中,将 datetime 对象转换成数字,通常是指将其转换为时间戳(timestamp)—— 即从 1970年1月1日00:00:00 UTC 到该时间点的秒数(或毫秒数)。这是最常见的“时间转数字”方式。
Python 的 datetime 模块提供了 timestamp() 方法,可以直接将本地 datetime 对象转换为浮点型的时间戳(单位:秒)。
from datetime import datetime <h1>示例:当前时间</h1><p>now = datetime.now() timestamp_sec = now.timestamp() print(timestamp_sec) # 输出类似:1712345678.123456</p>
如果只需要整数秒,可以使用 int() 强制转换:
timestamp_int = int(now.timestamp()) print(timestamp_int) # 输出类似:1712345678
若需要更高精度(如用于前端 JS 或数据库),可乘以 1000 并转为整数:
立即学习“Python免费学习笔记(深入)”;
timestamp_ms = int(now.timestamp() * 1000) print(timestamp_ms) # 输出类似:1712345678123
如果 datetime 对象没有时区信息,timestamp() 会按本地时区处理,容易出错。建议使用带时区的时间对象:
from datetime import datetime, timezone <h1>获取当前 UTC 时间并带上时区</h1><p>utc_now = datetime.now(timezone.utc) timestamp_utc = utc_now.timestamp() print(timestamp_utc)</p>
先用 strptime() 解析字符串为 datetime,再转时间戳:
time_str = "2024-04-05 12:30:45" dt = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S") timestamp = int(dt.timestamp()) print(timestamp)
基本上就这些常见用法。核心是理解:时间转数字 = 转时间戳,用 datetime.timestamp() 最直接。注意时区和精度即可。不复杂但容易忽略细节。
以上就是python3时间datetime如何转换成数字?的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号