如何在Python中将指定格式时间转换为Unix时间戳?
时间转Unix时间戳解决方案
1. 转换DD-MM-YYYY HH:MM:SS +XXXX格式到Unix时间
使用Python标准库datetime的strptime方法解析时间字符串,再通过timestamp()方法获取Unix时间戳。格式字符串对应"%d-%m-%Y %H:%M:%S %z",其中%z用于匹配+XXXX形式的时区偏移。
示例代码:
from datetime import datetime time_str = "20-12-2023 14:30:00 +0800" dt = datetime.strptime(time_str, "%d-%m-%Y %H:%M:%S %z") unix_time = dt.timestamp() print(unix_time) # 输出浮点型Unix时间戳,如需整数可转int
2. 转换Thu, 04 Jan 2024 18:25:01 +0000格式到Unix时间
该格式属于RFC 822标准时间格式,同样用datetime.strptime解析,格式字符串为"%a, %d %b %Y %H:%M:%S %z":
%a:匹配缩写星期名(如Thu)%d:匹配两位日期(如04)%b:匹配缩写月份名(如Jan)%Y:匹配四位年份(如2024)%H:%M:%S:匹配时分秒%z:匹配时区偏移(如+0000)
示例代码:
from datetime import datetime time_str = "Thu, 04 Jan 2024 18:25:01 +0000" dt = datetime.strptime(time_str, "%a, %d %b %Y %H:%M:%S %z") unix_time = dt.timestamp() print(unix_time) # 输出1704402301.0,转int为1704402301
若Python版本低于3.7,%z解析存在兼容性问题,可使用第三方库python-dateutil的parser.parse方法:
from dateutil import parser time_str = "Thu, 04 Jan 2024 18:25:01 +0000" dt = parser.parse(time_str) unix_time = dt.timestamp() print(unix_time)
内容的提问来源于stack exchange,提问作者Jean deBaer
相关产品推荐
相关产品推荐

