activiti7 时区问题

项目场景:activiti7 添加流程变量

activiti7 引擎添加流程审批时添加变量或者完成task时添加流程变量


问题描述

activiti7 的流程变量添加时和获取时的时间相差一天
例如:修改某档案离职,档案管理员审核
在这里插入图片描述

修改的数据添加到流程变量:

map.put("Archives",Archives);
runtimeService.startProcessInstanceByKey("archivesAppr",map);

添加时数据:
在这里插入图片描述
获取时数据:
在这里插入图片描述


原因分析:

activiti进行map转json类型时使用的时区默认是UTC的:

数据库的时区为GMT+8,项目时区使用的也是GMT+8,这就导致acitiviti进行json转换时会少8小时,所以30号直接变成了29号


解决方案:

学艺不精,这是全局json格式化的问题,并不是activiti的问题,解决方案有两个,一个是直接配置文件加上json的时区设置,另一个是再实体类加上json格式化注解:

1.解决方案1

	@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") //这里加上时区
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    @Compare("出生年月")
    private Date arcBirthday;

2.解决方案2

//yml文件中加上
  jackson:
    time-zone: GMT+8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值