long utc = sec*1000L;
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd.HHmmss"); //格式按需自定义
format.setTimeZone(TimeZone.getTimeZone("GMT+08")); //北京时区GMT+8
String time = format.format(new Date(utc));
return time;
最近在开发项目过程中,发现返回的数据中现实的日期与数据库中日期大概相差8小时,这是因为直接从数据库中查询出来的
时间
是格林威治
时间
,而不是北京(东八区)
时间
,所以我们需要做日期格式化,将格林威治
时间
转为
北京时间
,代码如下:
@JsonFormat(
shape = JsonFormat.Shape.
STRING
,
pattern = "yyyy-MM-dd HH:mm:ss",...
import
java
.text.ParseException;
import
java
.text.SimpleDateFormat;
import
java
.util.Date;
* @author
* @date
public class Test
UTC
{
*
UTC
时间
,也就是国际统一
时间
/国际协调时,表示方法:
* YYYYMMDD ...
一、
时间
戳定义
1、
UTC
时间
戳是指格林威治
时间
1970年01月01日00时00分00秒起至现在的总秒数
2、
北京时间
戳是指1970年01月01日08时00分00秒起至现在的总秒数
由此可知:
北京时间
=
UTC
时间
+8小时
二、应用场景
1、1641537092表示的是
UTC
时间
戳,格式化成年月日时分秒。
解释:如下代码,我认为无论是
UTC
时间
戳还是
北京时间
戳 格式化成年月日,只需要下面代码就行了,实际是错误的