【问题标题】:Convert seconds to years days hours minutes format in google sheet [duplicate]在谷歌表格中将秒转换为年日小时分钟格式[重复]
【发布时间】:2021-11-06 09:04:33
【问题描述】:

我正在尝试将 GSheet 中的秒数转换为年日小时分钟格式。我使用秒/86400,然后使用自定义格式 yy" 年 "dd" 天 "hh" 小时 "mm" 分钟"。但结果总是与预期输出相差 1 天。我该如何解决?

Sample Google Sheet link

【问题讨论】:

  • 这不是一个 excel 问题,因为在 excel 中使用数字格式会产生您预期的结果。建议研究 Google 表格日期处理的细微差别。

标签: google-sheets google-sheets-formula


【解决方案1】:

这是一个数组公式(单元格 B1,删除下面的所有内容):

=index({"Convert to  "" X years X days X hours X minutes"" format";if(A2:A<>"",int(A2:A/60/60/24/365.25)&" years "&int(mod(A2:A/60/60/24,365.25))&" days "&int(mod(A2:A/60/60,24))&" hours "&int(mod(A2:A/60,60))&" minutes",)})

【讨论】:

  • 闰日不计算
【解决方案2】:

这永远行不通,因为人类历史上没有零日/月

  1. 0000 年 1 月减去一天是 31。-0001 年 12 月

转换 unix / epoch 时间使用:

=INDEX(IF(A2:A,
 TEXT(DATEDIF(DATE(1970, 1, 1), TEXT(A2:A/86400+DATE(1970, 1, 1), "yyyy-mm-dd"), "Y"), "00")&" years "&
 TEXT(DATEDIF(DATE(1970, 1, 1), TEXT(A2:A/86400+DATE(1970, 1, 1), "yyyy-mm-dd"), "YD"), "00")&" days "&
 TEXT(A2:A/86400+DATE(1970, 1, 1), "hh \hour\s mm \minut\e\s"), ))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-22
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多