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

Python中计算两个指定格式日期时间的小时差值实现方法

Python计算两个指定格式日期的小时差

实现核心逻辑

你存储的日期是月/日/年 时:分:秒格式的字符串,没法直接做时间运算,第一步需要先把字符串解析为Python可识别的时间对象,再做差值换算。


方法1:原生Python实现(无第三方依赖)

适合单组日期计算的场景,直接用内置的datetime模块即可:

from datetime import datetime

# 匹配你当前存储的日期格式:月/日/年 时:分:秒
DATE_PARSE_FORMAT = "%m/%d/%Y %H:%M:%S"

# 示例日期数据
date1_str = "2/23/2022 12:30:26"
date2_str = "2/24/2022 14:45:26"

# 字符串转datetime时间对象
date1 = datetime.strptime(date1_str, DATE_PARSE_FORMAT)
date2 = datetime.strptime(date2_str, DATE_PARSE_FORMAT)

# 计算时间差,换算为小时(保留小数,包含分、秒的差值)
time_delta = date2 - date1
diff_hours = time_delta.total_seconds() / 3600

如果只需要整数小时结果,可以根据需求用int()向下取整,或者round()做四舍五入。


方法2:Pandas批量实现(适合两列表格数据)

如果你说的两列数据是存储在数据表中,用pandas批量处理效率更高,不需要写循环:

import pandas as pd

# 示例:构造测试数据表,实际使用时替换为你自己的数据读取逻辑
df = pd.DataFrame({
    "date1": ["2/23/2022 12:30:26", "2/20/2022 9:15:00"],
    "date2": ["2/23/2022 15:30:26", "2/22/2022 10:15:00"]
})

# 批量解析两列日期为时间类型
df["date1"] = pd.to_datetime(df["date1"], format="%m/%d/%Y %H:%M:%S")
df["date2"] = pd.to_datetime(df["date2"], format="%m/%d/%Y %H:%M:%S")

# 批量计算每行的小时差,结果存为新列
df["diff_hours"] = (df["date2"] - df["date1"]).dt.total_seconds() / 3600

注意事项

  • 解析时务必确认格式匹配:你的日期是月/日/年的顺序,不要和常见的日/月/年格式混淆,否则会出现解析错误或者结果偏差。
  • 如果存在空值、非法格式的日期,需要提前做数据清洗,避免解析报错。

内容的提问来源于stack exchange,提问作者donald smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 02:01:12