如何实现两个时间值相减,最后得到一个小时差

如果是有带时间得呢,比如DATESUBDATE(\"2019-02-25 16:00:00\", \"2019-02-25 15:30:00\",\"h\"),最终表示成相差得值,0小时30分钟这样

FineReport HRainMountain 发布于 2019-2-25 16:24 (编辑于 2019-2-25 16:41)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
flyingsnakeLv6资深互助
发布于2019-2-25 16:24

DATESUBDATE(date1, date2, op):返回两个日期之间的时间差。op表示返回的时间单位:"s",以秒为单位。"m",以分钟为单位。"h",以小时为单位。"d",以天为单位。"w",以周为单位。


示例:DATESUBDATE("2008-08-08", "2008-06-06","h")等于1512。




  • HRainMountain HRainMountain(提问者) 如果是有带时间得呢,比如DATESUBDATE(\"2019-02-25 16:00:00\", \"2019-02-25 15:30:00\",\"h\"),最终表示成相差得值,0小时30分钟这样
    2019-02-25 16:38 
  • 孤陌 孤陌 回复 HRainMountain(提问者) 我下面的就是你的需求 你可以把 前面的天删除掉 然后 把小时的字符换成: 就可以了
    2019-02-25 16:50 
  • flyingsnake flyingsnake 回复 HRainMountain(提问者) int((DATETONUMBER(\"2018-01-01 00:00:00\")-DATETONUMBER(\"2018-01-01 11:11:00\"))/3600000)
    2019-02-25 17:01 
  • flyingsnake flyingsnake 回复 HRainMountain(提问者) CONCATENATE(int((DATETONUMBER(\"2018-01-01 00:00:00\")-DATETONUMBER(\"2018-01-01 11:11:00\"))/3600000),\"小时\",int(MOD(((DATETONUMBER(\"2018-01-01 00:00:00\")-DATETONUMBER(\"2018-01-01 11:11:00\"))/3600000))/60000),\"分钟\")
    2019-02-25 17:04 
  • HRainMountain HRainMountain(提问者) 回复 flyingsnake 小时是对了,但是后面得分钟会乱码,变成#VALUE?这个了,请问是什么原因呢
    2019-02-25 17:29 
最佳回答
0
孤陌Lv6资深互助
发布于2019-2-25 16:36(编辑于 2019-2-25 16:57)

DATESUBDATE(now(), B3, "d") + "天" + mod(DATESUBDATE(now(), B3, "h"), 24) + "小时" + mod(DATESUBDATE(now(), B3, "m"), 60)

 + "分钟" + mod(DATESUBDATE(now(), B3, "s"), 60) + "秒"   //时间差 天时分秒格式



你要的格式

FORMAT(mod(DATESUBDATE(now(), B1, "h"), 24),"#00") + ":" +FORMAT(mod(DATESUBDATE(now(), B1, "m"), 60),"#00")


 + ":" + FORMAT(mod(DATESUBDATE(now(), B1, "s"), 60),"#00")


  • 3关注人数
  • 1779浏览人数
  • 最后回答于:2019-2-25 16:57
    请选择关闭问题的原因
    确定 取消
    返回顶部