时间¶
时间计算¶
时间运算符是#
,完整的用法是:
#(..)years(..)months(..)weeks(..)days(..)hours(..)minutes(..)seconds(..)milliseconds
支持简写时间单位, 完整的简写形式:
#(..)y(..)m(..)w(..)d(..)h(..)mm(..)s(..)ms
单位 | 完整写法 | 简写 | 其他形式 |
---|---|---|---|
年 | years | y | year |
月 | months | m | month |
周 | weeks | w | week |
天 | days | d | day |
小时 | hours | h | hour |
分钟 | minutes | mm | minute |
秒 | seconds | s | second |
毫秒 | milliseconds | ms | millisecond |
m
表示月份, mm
表示分钟
对于时分秒
,还支持另一种常见的写法 #HH:mm:ss
:
-
#HH:mm:ss
表示HH小时mm分钟ss秒, 等价于
#(h)hours(m)minutes(s)seconds
-
#HH:mm
表示HH小时mm分钟, 等价于
#(h)hours(m)minutes
#HH:mm:ss
不支持括号, 所以也不支持括号内的表达式
表达式是可以选的, 不用写完整
#1year
#2m3weeks
#2w1d3s
#(1+2)d5h3ms
#(min(10, 9+1.5) - 1)days3ms
上面的写法很灵活, 都是合法的
当括号内的表达式是数字时,括号可以省略。
比如 #1d
表示1天, #-1h
表示-1小时, #1.5mm
表示1.5分钟, #1s
表示1秒。
括号内的表达式不是数字时,括号不可以省略
-
支持
#(1+2)d
等价于#3d
#(1.5+2.5)mm
等价于#4mm
#(max(3, 2, 1))w
等价于#3w
-
不支持
#1+2d
-->ERROR
, 需要写成#(1+2)d
支持加减法
#时间 ± #时间 = #时间
-
#1y2m3d + #3w5h = #1y2m3w3d5h
-
#10:10:10 - #10:10 = #0:0:10
示例:
#1y2m3d // 1年2月3天
#2w3d5h // 2周3天5小时
#1d2h3mm // 1天2小时3分钟
#1d2h3s // 1天2小时3秒
#1d2h3ms // 1天2小时3毫秒
#10:10:10 // 10小时10分钟10秒
#10:10 // 10小时10分钟
// 时间加法
#1y2m3d + #3w5h = #1y2m3w3d5h
// 时间减法
#1y2m3d - #3w5h = #1y2m3w3d5h
// 2小时10分钟10秒加上1小时20分钟20秒
// 等于3小时30分钟30秒
#2:10:10 + #1:20:20 = #3:30:30
// 10小时10分钟10秒减去10小时10分钟
// 等于10秒
#10:10:10 - #10:10 = #0:0:10
时间转换¶
#(时间)
: 默认显示格式:xx年xx月
+xx 毫秒
年和月不能转化为毫秒,因为它们是不可精确计算的。
转换符号 > #
可以转换不同输出格式:
#(时间) > #
: 将时间转化为格式:xx年xx月
+xx 天 xx 小时 xx 分钟 xx 秒 xx 毫秒
#(时间) > #w
: 将时间转化为格式:xx年xx月
+xx 周
#(时间) > #d
: 将时间转化为格式:xx年xx月
+xx 天
#(时间) > #h
: 将时间转化为格式:xx年xx月
+xx 小时
#(时间) > #m
: 将时间转化为格式:xx年xx月
+xx 分钟
#(时间) > #s
: 将时间转化为格式:xx年xx月
+xx 秒
#(时间) > #ms
: 不支持,因为这是默认显示格式
#1d2h2mm // 输出: 93780000ms
#1d2h2mm > # // 输出: 1天 2小时 2分钟 0秒
#1d2h2mm > #w // 输出: 0.15周
#1d2h2mm > #d // 输出: 1.08天
#1d2h2mm > #h // 输出: 26.03小时
#1d2h2mm > #m // 输出: 1562.00分钟
#1d2h2mm > #s // 输出: 93720.00秒
#1y1d2h2mm // 输出: 1年+93780000ms
#1y1d2h2mm > # // 输出: 1年+1天 2小时 2分钟 0秒
#1y2m1d2h2mm // 输出: 1年2月+93780000ms
#1y2m1d2h2mm > # // 输出: 1年2月+1天 2小时 2分钟 0秒
#1y2m1d2h2mm > #d // 输出: 1年2月+1.08天