多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
项目里运行的一个页面的同一个数据出现返回的时间总是再变, 发现有时少了8小时, 本地测试代码没出现这个问题, 后来想到最近刚把这个服务上了k8s, 代码 new Date 又没处理时区 ``` // 原代码, 这个是使用服务器默认时区, 如果没修改服务器时区, 这里就少8小时 // SimpleDateFormat sDateTimeFormat = new SimpleDateFormat(SYSTEM_TIME_FORMAT_01); // sDateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // return sDateTimeFormat.format(new Date(Long.parseLong(String.valueOf(time)))); // 新代码 使用jdk8的LocalDateTime 手动设置时区 // 将时间戳转换为Instant对象 这个是带毫秒的 Instant instant = Instant.ofEpochMilli(time); // 将Instant对象转换为LocalDateTime对象 使用北京时间, 东八区 LocalDateTime dateTime = LocalDateTime.ofInstant(instant, ZoneOffset.of("+8")); return LocalDateTimeUtil.format(dateTime, DatePattern.NORM_DATETIME_PATTERN); ```