Pepsi33
1
* 描述问题
环境变量 DB_TIMEZONE=+08:00
在数据表事件工作流中,根据表数据中的日期时间在工作流中做运算,日期被-8小时
* 运行环境
如何重现
DB_TIMEZONE=+08:00
在数据表事件工作流中,根据表数据中的日期时间在工作流中做运算
如数据表中date为2024-11-22 00:00:00
工作流中上下文数据如下
预期行为
date为 2024-11-22 00:00:00
截图
日志
mysql存储的2024-11-22 00:00:00是+08:00时区的时间
2024-11-21T16:00:00.000Z是+00:00时区的时间
两个值是同一时间,0时区存储是一种策略选择,并不存在问题
Pepsi33
7
DB_TIMEZONE=+08:00 下
存入数据表中date为 2024-11-22 00:00:00
希望在工作流中使用的也是 2024-11-22 00:00:00,便于在工作流中一些时间范围的的校验。比如时间范围"今天"
这类处理其实应该以DB-View 的方式去做更容易些,在工作流里处理,相对比较复杂
两个时间是同一时间,需要理解下这句话,格式不同是可以转换的,举例:11(10进制)=b(16进制)
Pepsi33
11
我明白实质上是同一时间。
也就是在工作流中做日期计算的时候,我觉得时区设置没变,拿到的日期变量值和原表中的值却是不一致的。或者说我希望工作流中默认不对日期做转换到0时区。比如说我的储存值是22号的0点时间,工作流中拿到的就是22号0点时间