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

Python中计算指定格式(YYYY-MM-DD HH-MM-SS)日期时间的时间差

计算YYYY-MM-DD HH-MM-SS格式的两个日期时间差

没问题,我来帮你搞定这个日期时间差的计算,专门针对你提到的YYYY-MM-DD HH-MM-SS这种格式。其实核心就是先把字符串转换成Python的datetime对象,之后计算差值就很简单了,咱们一步步来:

步骤1:导入必要的模块

首先得导入Python标准库中的datetime模块,这是处理日期时间的基础:

import datetime

步骤2:定义你的日期时间字符串

先把你要计算的两个日期时间以字符串形式写出来,比如:

dt_str_a = "2024-06-01 10-30-00"
dt_str_b = "2024-06-03 15-45-15"

步骤3:将字符串解析为datetime对象

这里关键是用datetime.datetime.strptime()方法,它需要两个参数:日期时间字符串,以及对应的格式匹配字符串。针对YYYY-MM-DD HH-MM-SS格式,咱们的格式字符串应该是"%Y-%m-%d %H-%M-%S",每个符号对应不同的时间单位:

  • %Y:4位数的年份
  • %m:2位数的月份
  • %d:2位数的日期
  • %H:24小时制的小时数
  • %M:分钟数
  • %S:秒数

代码示例:

dt_a = datetime.datetime.strptime(dt_str_a, "%Y-%m-%d %H-%M-%S")
dt_b = datetime.datetime.strptime(dt_str_b, "%Y-%m-%d %H-%M-%S")

步骤4:计算时间差

直接用两个datetime对象相减,会得到一个timedelta对象,它包含了两个时间点之间的差值:

time_diff = dt_b - dt_a  # 注意顺序,后减前得到正的差值

步骤5:查看或处理差值结果

你可以直接打印time_diff,它会输出类似2 days, 5:15:15这样的可读格式。如果需要提取具体的数值,比如:

  • 获取总天数:time_diff.days
  • 获取总秒数:time_diff.total_seconds()
  • 拆分小时、分钟、秒:可以通过总秒数换算,或者直接访问time_diff.seconds(注意这个是一天内的秒数,不包含天数)

完整的示例代码:

import datetime

# 定义两个日期时间字符串
dt_str1 = "2024-05-20 14-20-00"
dt_str2 = "2024-05-22 16-35-45"

# 解析为datetime对象
dt1 = datetime.datetime.strptime(dt_str1, "%Y-%m-%d %H-%M-%S")
dt2 = datetime.datetime.strptime(dt_str2, "%Y-%m-%d %H-%M-%S")

# 计算差值
delta = dt2 - dt1

# 输出结果
print("两个时间的差值:", delta)
print("差值的总天数:", delta.days)
print("差值的总秒数:", delta.total_seconds())
print("一天内的秒数部分:", delta.seconds)

运行这段代码,你就能得到清晰的时间差结果啦。需要注意的是,如果你的日期时间字符串格式有细微变化(比如12小时制),只需要调整格式字符串对应的符号就行,但针对你说的YYYY-MM-DD HH-MM-SS,上面的代码完全适用。

内容的提问来源于stack exchange,提问作者Arseniy Sleptsov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 06:27:28