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

谷歌表格中计算含时分秒的日期时间间隔(无需脚本)

Google Sheets 无脚本实现日期时间完整间隔格式化

假设你的开始日期时间在单元格A1,结束日期时间在B1,以下是两种格式的实现方案:

格式1:「X年、X个月、X天、X小时、X分钟、X秒」

基础版(显示所有部分,含零值)

直接拼接各时间单位:

=DATEDIF(A1,B1,"Y")&"年、"&DATEDIF(A1,B1,"YM")&"个月、"&DATEDIF(A1,B1,"MD")&"天、"&HOUR(MOD(B1-A1,1))&"小时、"&MINUTE(MOD(B1-A1,1))&"分钟、"&SECOND(MOD(B1-A1,1))&"秒"

优化版(自动隐藏零值部分)

用TEXTJOIN忽略空值,避免显示「0年、」这类冗余内容:

=TEXTJOIN("、",TRUE,
  IF(DATEDIF(A1,B1,"Y")>0,DATEDIF(A1,B1,"Y")&"年",),
  IF(DATEDIF(A1,B1,"YM")>0,DATEDIF(A1,B1,"YM")&"个月",),
  IF(DATEDIF(A1,B1,"MD")>0,DATEDIF(A1,B1,"MD")&"天",),
  IF(HOUR(MOD(B1-A1,1))>0,HOUR(MOD(B1-A1,1))&"小时",),
  IF(MINUTE(MOD(B1-A1,1))>0,MINUTE(MOD(B1-A1,1))&"分钟",),
  IF(SECOND(MOD(B1-A1,1))>0,SECOND(MOD(B1-A1,1))&"秒",)
)

格式2:「01 02 02 23:05:05」(补零的固定格式)

用TEXT函数统一补零,拼接成指定格式:

=TEXT(DATEDIF(A1,B1,"Y"),"00")&" "&TEXT(DATEDIF(A1,B1,"YM"),"00")&" "&TEXT(DATEDIF(A1,B1,"MD"),"00")&" "&TEXT(MOD(B1-A1,1),"HH:MM:SS")

关键逻辑说明

  1. 年/月/日提取:用DATEDIF的三个参数分别获取:
    • Y:完整年数
    • YM:去除年数后的剩余月数
    • MD:去除年、月后的剩余天数
  2. 时/分/秒提取:
    • B1-A1得到总天数(整数+小数),小数部分代表当天的时间占比
    • MOD(B1-A1,1)提取小数部分的时间值,再用HOUR/MINUTE/SECOND提取对应单位,或直接用TEXT转成HH:MM:SS格式
  3. 错误处理:如果结束日期早于开始日期,DATEDIF会报错,可添加IFERROR包裹公式,比如:
=IFERROR(TEXTJOIN("、",TRUE,...),"结束日期不能早于开始日期")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:05:35