You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将带时分秒的当前日期时间转换为时间戳

Python实现可读日期格式转Unix时间戳的方法

你可以直接使用Python标准库的datetime模块完成转换,无需安装第三方依赖,转换逻辑如下:

转换指定格式的日期字符串为时间戳

你给出的日期格式对应的解析模板为%A, %d %B %Y %H:%M:%S,其中:

  • %A匹配星期的完整英文名称
  • %d匹配两位数字的日期
  • %B匹配月份的完整英文名称
  • %Y匹配四位数字的年份
  • %H:%M:%S匹配24小时制的时分秒

示例代码如下:

from datetime import datetime, timezone

def date_str_to_epoch(date_str: str) -> int:
    date_format = "%A, %d %B %Y %H:%M:%S"
    # 按UTC时区解析时间,和你给出的示例结果对齐
    dt_obj = datetime.strptime(date_str, date_format).replace(tzinfo=timezone.utc)
    # 转换为秒级Unix时间戳
    return int(dt_obj.timestamp())

# 测试示例
print(date_str_to_epoch("Thursday, 18 November 2021 23:59:59")) # 输出:1637279999
print(date_str_to_epoch("Thursday, 18 November 2021 00:00:00")) # 输出:1637193600

转换当前日期时间为时间戳

如果需要转换当前带时分秒的时间为时间戳,可以直接调用如下代码:

from datetime import datetime, timezone

# 获取当前UTC时间的秒级时间戳
current_epoch = int(datetime.now(timezone.utc).timestamp())
print(current_epoch)

# 如果需要先获取对应格式的当前时间字符串再转换
current_date_str = datetime.now(timezone.utc).strftime("%A, %d %B %Y %H:%M:%S")
print(current_date_str)
print(date_str_to_epoch(current_date_str))

注意事项

  • 如果你处理的是本地时区的时间,去掉代码中的.replace(tzinfo=timezone.utc)即可,但要注意不同时区转换得到的时间戳会存在时差,你给出的示例结果为UTC时区转换结果,建议保留时区设置避免误差。
  • 上述代码返回的是秒级时间戳,如果你需要毫秒级时间戳,将返回值乘以1000即可。

内容的提问来源于stack exchange,提问作者Mayur Koshti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:06:03