我正在尝试将JSON对象转换为日期,并将其写入数据库。但是,将日期转换为EST
的代码不起作用。将日期转换为EST
的最佳方法是什么
JSON entry
"custom_date_1": "2019-05-19","
转换代码
int id;
Date trainingDate;
SimpleDateFormat format = new SimpleDateFormat("DD-MM-YY", Locale.US);
TimeZone tz = TimeZone.getTimeZone("EST");
format.setTimeZone(tz);
logger.info("custom_date_1: {}", object.getString("custom_date_1"));
try {
id= Integer.parseInt(object.getString("employee_number"));
trainingDate = format.parse(object.getString("custom_date_1"));
//Still says GMT
logger.info("trainingDate: {}", trainingDate);
map.put("employee_number", id);
map.put("custom_date_1", trainingDate);
} catch (ParseException e) {
e.printStackTrace();
}
日志语句
2019-06-10 14:00:00,226 INFO custom_date_1: 2019-05-19
2019-06-10 14:00:00,226 INFO trainingDate: Sun Dec 30 05:00:00 GMT 2018
发布于 2019-06-10 22:12:42
从Java8开始,您应该使用LocalDate
和LocalDateTime
,因此可以使用
LocalDateTime.atZone(ZoneId zoneId)
例如
LocalDateTime date = LocalDateTime.parse("2019-06-10T12:00:00");
ZonedDateTime date2 = date.atZone(ZoneId.systemDefault());
https://stackoverflow.com/questions/56528073
复制相似问题