使用的是JDK8,用以下代码获取时区:
// 日历类
Calendar calendar = Calendar.getInstance();
System.out.println("目前时间:" + calendar.getTime());
System.out.println("Calendar时区::" + calendar.getTimeZone().getID());
// 取系统配置
String property = System.getProperty("user.timezone");
System.out.println("user.timezone:" + property);
System.out.println("user.timezone:" + System.getProperty("user.timezone"));
System.out.println("user.country:" + System.getProperty("user.country"));
// 默认时区
System.out.println("默认时区:" + TimeZone.getDefault().getID());
结果如下:
目前时间:Wed May 15 16:32:36 CST 2019
Calendar时区::Asia/Shanghai
user.timezone:Asia/Shanghai
user.timezone:Asia/Shanghai
user.country:CN
默认时区:Asia/Shanghai
于是在实体类中加上
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
private Date createDate;
亲测可用。
(因历史原因,没有采用LocaDateTime)
【以此记录,已备后用】