Sharp表达式 - 日期时间操作

在开发中时间类型应用非常多,PQL 在 Sharp 表达式中实现了各种各样的时间处理方法,下面均以变量$datetime为例进行分组介绍。

日期时间格式化

获取日期时间的某一部分

以下操作的返回值为整数。

以下操作的返回值为字符串:

设置日期时间的某一部分

以下操作的参数均为整数,返回值均为新的日期时间。

增加或减少日期时间的某一单位

以下操作的参数均为整数,且均支持负值,返回值均为新的日期时间。

上面有两个操作用到了时间单位,时间单位也属于 Sharp 表达式的操作,作用是将整数的时间单位转成毫秒值,如$datetime PLUS 20 MINUTES$datetime MINUS 1 HOUR。所有支持的单位如下:

下例中 4 个 Sharp 表达式的结果相同,可根据个人习惯选择不同的操作。

快速编辑日期时间

除上面提供了 PLUS 和 MINUS 外,Sharp 表达式中还提供了额外的设置日期时间的方法。

日期时间比较、转换和其他

日期时间比较和数字的比较类似,一般比较两个时间的早晚或者差值。

上面几个操作与比较操作符的区别为:比较操作符会优先转成数字做比较,AFTERBEFORE会将两端的值转成日期时间再做比较;EQUALS如果两端有一个是日期时间,则两端都转成日期时间做比较,否则都转成字符串做比较。举个例子:2020-08-17 12:00:00转成纪元秒为15976368001597636800 AFTER '2020-08-07 12:00:00'结果为true,但是1597636800 > '2020-08-07 12:00:00'会报错。

其他与日期时间相关的表达式

这些操作要编辑的数据都不是日期时间,最后一个是字符串,其他是整数。但这些操作都与日期时间有关。

日期时间的自动转化规则

Sharp 表达式在执行时会根据操作名称自动将要操作的值转成相应的类型,下面是可转成日期的格式列表。

当要使用的日期时间不在上述格式中时,可用TO DATETIME 'format'进行转换。


参考链接


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!