国际标准时间(前台)和年月日时差为8个小时,如果使用String得到的日期会少八小时

问题:国际标准时间(前台)和年月日时差为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;
    }

当然也可以使用两个时间转换方法解决

时间转换

猜你喜欢

转载自blog.csdn.net/qq_40453972/article/details/130831583