将MYSQL日期时间值转换为UTC时区格式yyyy-MM-dd'T'HH:mm:ss'Z'

时间:2016-04-18 20:13:16

标签: java mysql spring timezone

这里是MYSQL和java的新手。我试图在REST API应用程序中使用请求转换从MYSQL数据库表检索的给定日期时间值。由此产生的json将显示这一点,我发现链接,他们提到杰克逊时区格式,这听起来很复杂。是不是有一个简单的正确方法来做到这一点?

if(rs.getTimestamp(5) != null){
ZonedDateTime zdt = ZonedDateTime.of(rs.getTimestamp(5).
    toLocalDateTime(), ZoneOffset.UTC);
pObject.setContractExpiration(zdt.get??????);

找到上面的例子,但不知道该放什么zdt.get ??????。我的pObject类需要一个Timestamp值。忘记添加,必须采用以下格式:

final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

1 个答案:

答案 0 :(得分:1)

java.util.Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("UTC"));
java.sql.Timestamp ts = resultSet.getTimestamp(PUBLISH_TIME);
cal.setTime(ts);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(sdf.format(cal.getTime()));