今天需求是用post请求发送本地的流水到平台接收,实体类都是一样的,支付时间,处理时间,创建时间都是date类型,但是后面看到,传过来的时间都加了十四个小时。这就很尴尬了,我又不能在接收端直接减去十四个小时,显得我很蠢。
差十四个小时是因为 post请求发送的都是字符串,接收又转成了date,Date在解析的过程中遇到CST会认为是北美时间,再转换为中国时间就会加十四个小时。
改过传送前的时间格式,没有生效,给接收实体用了@DateTimeFormat(pattern="yyyy-MM-ddHH:mm:ss") 没有生效,流水传不上去,直接回400 bad request,没有办法只能重新上传date类型的时间,但是重新写了一个接收实体,时间是string类型的,插入流水要的又是date类型,还是需要重新转换。
两个实体类之间参数名都一样,时间的类型不同,一个个的赋值就很麻烦,BeanUtils.copyProperties(object,object);你值得拥有,这样就除了那几个date类型的时间不能赋值,其他的都可以了,那几个就重新单独赋值就可以了,然后就遇到了新问题。(我怎么问题这么多)
单独赋值给时间的时候 用transOrderLogtarget.setPaymentTime(DateUtil.strDate(transOrderLog.getPaymentTime(),"yyy