问题:国际标准时间(前台)和年月日时差为8个小时,如果使用String得到的日期会少八小时
(理由:世界时为标准。北京时间比世界时间早8小时标准时间)
如果后台使用以下来接收前台代码
//修改前,会发现获取的时间比预想的时间少八小时 @TableField(exist = false) @ApiModelProperty(value = "上传日期(起),查询用") private String syncTimeStart;
应该改为
//修改后:国际标准时间(前台)和年月日时差为8个小时,如果使用String 得到的日期会少八小时 @TableField(exist = false) @ApiModelProperty(value = "上传日期(起),查询用") private Date syncTimeStart;
req.setSyncTimeStart(StrUtils.dateTimeChange(req.getSyncTimeStart(),"00:00:00")); req.setSyncTimeEnd(StrUtils.dateTimeChange(req.getSyncTimeEnd(),"23:59:59"));
public static Date dateTimeChange (Date date, String time) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String formatStr = sdf.format(date);formatStr = formatStr.substring(0,10)+" "+time;Date changeDate = null;try {changeDate = sdf.parse(formatStr);} catch (ParseException e) {e.printStackTrace();}return changeDate;}
当然也可以使用两个时间转换方法解决
时间转换