以下代码段使用 Joda-Time API 格式化并将日期转换为 UTC 区域。
DateTimeFormatter dateTimeFormatter=DateTimeFormat.forPattern("dd-MMM-yyyy hh:mm:ss aa");
DateTime dateTime = dateTimeFormatter.parseDateTime("15-Oct-2013 11:34:26 AM").withZone(DateTimeZone.UTC);
System.out.println(dateTime);
它完全按预期显示以下日期。
2013-10-15T06:04:26.000Z
但是当这个日期转换成java.sql.Timestamp
这样时,
System.out.println(new Timestamp(dateTime.getMillis()));
它显示以下日期。
2013-10-15 11:34:26.0
这意味着与给定的日期/时间相同。时区 UTC 似乎被忽略了。
如何Timestamp
正确地将日期转换为 UTC?