我有一个像这样的字符串 2013-10-22T01:37:56
。我需要将此字符串更改为像这样的 UTC 日期格式 MM/dd/yyyy KK:mm:ss a
。我已经尝试了一些代码,但它没有返回 UTC 日期时间。
我的代码是
String[] time = itsAlarmDttm.split("T");
String aFormatDate = time[0]+ " "+time[1];
String aRevisedDate = null;
try {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
final Date dateObj = sdf.parse(aFormatDate);
aRevisedDate = new SimpleDateFormat("MM/dd/yyyy KK:mm:ss a").format(dateObj);
System.out.println(aRevisedDate);
} catch (ParseException e) {
itsLogger.error("Error occured in Parsing the Data Time Object: " +e.getMessage());
} catch (Exception e) {
itsLogger.error("Error occured in Data Time Objecct: " +e.getMessage());
}
我得到的输出是 MM/dd/yyyy KK:mm:ss a
格式。但不是 UTC 时间格式。
如何解决这个问题?
最佳答案
试试这个...为我工作并打印 10/22/2013 01:37:56 AM
当然,这是您的代码,只做了很少的修改。
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC")); // This line converts the given date into UTC time zone
final java.util.Date dateObj = sdf.parse("2013-10-22T01:37:56");
aRevisedDate = new SimpleDateFormat("MM/dd/yyyy KK:mm:ss a").format(dateObj);
System.out.println(aRevisedDate);
关于java - UTC 格式的日期 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20238280/