Duration
2024年12月22日大约 2 分钟
Duration
概述
duration
类型的值用于表示持续时间,最大精度同time
类型的100
ns。
持续时间可以是正的,也可以是负的。使用64位有符号整数
存储表示的时钟周期(100ns
)。存储范围是-10675199天02:48:05.4775808
到106575199天02:48:05.4775807
。
#duration
#duration(
days as number,
hours as number, minutes as number, seconds as number
) as duration
根据提供的参数生成duration
类型的值。
除seconds
可以是浮点数之外,其他必须是整数。
所有的参数都会进行汇总计算,从而修正到各部分的限定范围,因此可以是负数或超过自身范围的值。比如小时、分钟、秒都可以超过60。
#duration(1, 1, 99, 1.5)
#duration(0, 1, -99, 1.5)
Duration.Days
Duration.Days(duration as nullable duration) as nullable number
返回duration
的天数部分。
Duration.Days(#duration(5, 4, 3, 2))
Duration.From
Duration.From(value as any) as nullable duration
将value
转换成duration
类型的值。
可以输入的类型:
null
:null
。number
:根据等效天数转换,可以是有效表达范围内的浮点数。text
:使用Duration.FromText
转换。- 其他类型:错误。
Duration.From(1.5)
Duration.FromText
Duration.FromText(text as nullable text) as nullable duration
将文本text
转换成duration
类型的值。
支持的文本格式([]
表示可选,多个相同字母只是占位,可以仅输入一个数字):
[-]hh:mm[:ss[.ff]]
[-]ddd[.hh:mm[:ss[.ff]]]
取值范围:
ddd
:天数。hh
:小时数,介于 0 到 23 之间。mm
:分钟数,介于 0 到 59 之间。ss
:秒数,介于 0 到 59 之间。ff
:秒的小数部分,介于 0 到 9999999 之间。
Duration.FromText("5.4:3")
Duration.FromText("5.4:3:2.666666")
Duration.Hours
Duration.Hours(duration as nullable duration) as nullable number
返回duration
的小时部分。
Duration.Hours(#duration(5, 99, 3, 2))
Duration.Minutes
Duration.Minutes(duration as nullable duration) as nullable number
返回duration
的分钟部分。
Duration.Minutes(#duration(5, 4, 99, 2))
Duration.Seconds
Duration.Seconds(duration as nullable duration) as nullable number
返回duration
的秒部分。
Duration.Seconds(#duration(5, 4, 3, 99))
Duration.ToRecord
Duration.ToRecord(duration as duration) as record
以记录形式返回duration
值的内容。
Duration.ToRecord(#duration(5, 4, 3, 2))
Duration.TotalDays
Duration.TotalDays(duration as nullable duration) as nullable number
返回duration
的总天数(包含其他部分,可能有小数)。
Duration.TotalDays(#duration(5, 4, 3, 2))
Duration.TotalHours
Duration.TotalHours(duration as nullable duration) as nullable number
返回duration
的总小时数(包含其他部分,可能有小数)。
Duration.TotalHours(#duration(5, 4, 3, 2))
Duration.TotalMinutes
Duration.TotalMinutes(duration as nullable duration) as nullable number
返回duration
的总分钟数(包含其他部分,可能有小数)。
Duration.TotalMinutes(#duration(5, 4, 3, 2))
Duration.TotalSeconds
Duration.TotalSeconds(duration as nullable duration) as nullable number
返回duration
的总秒数(包含其他部分,可能有小数)。
Duration.TotalSeconds(#duration(5, 4, 3, 2))
Duration.ToText
Duration.ToText(
duration as nullable duration,
optional format as nullable text
) as nullable text
以文本形式返回duration
。
参数format
官方已不再支持,不可传参。
Duration.ToText(#duration(5, 4, 3, 2))