0

嗨,我正在 ZOC 终端上运行 REXX 脚本,我想像这样显示当前时间和 ETA:

开始时间 22:44:24
结束时间 22:56:24

但我不知道如何增加当前时间???

也许将时间转换为秒,然后将其递增,然后以秒为单位将时间转换回 hh:mm:ss ??

我试过这种方式,但不知道如何从秒转换回时间

intTime= TIME('S')+900

say="start time " TIME()
say="end time " intTime
4

1 回答 1

1

一种方法是:-

intTime = TIME('S') + 900
hours = (intTime % 3600) // 24
minutes = (intTime // 3600) % 60
seconds = intTime // 60
endtime =  RIGHT(hours,2,'0') || ":" || RIGHT(minutes,2,'0') || ":" || RIGHT(seconds,2,'0')

笔记!!我无权对此进行测试,而且自从我编写 Rexx 或获得访问权以来已经有很多年了。但是,我认为基本过程会起作用。那是:-

1)从时间中提取小时数作为整数(考虑到可能跨越到第二天或几天,即())。// 24

2)在删除/减去小时后(剩余时间除以小时,即) ,从时间中提取分钟作为整数。intTime // 3600

3)从time中提取seconds作为整数。通过获得60的剩余潜水时间(将减少小时和分钟)。

4) 将结束字符串构建为小时、分钟和秒的串联。使用 : 作为两个值之间的分隔符(或围绕中间值)。包含前导零的正确函数。

您也可以尝试:-

intTime = TIME('S',TIME('S')+900,'S')

这是基于TIME的,它可能是 Object Rexx。我确实也读过一些提到扩展时间/日期功能的东西。但是,这又可能是在引用 Object Rexx。虽然提到了迈克·科利肖的名字。

我相信 Mike Colishaw 是 Rexx 编程语言的创造者。

于 2016-03-13T08:41:36.647 回答