Kar*_*hik 3 java timestamp timestamp-with-timezone
我正在尝试使用从DB获取的时区解析一串格式时间戳.字符串如下:
SimpleDateFormat mdyFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSZ");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date d1 = mdyFormat.parse("2014-04-01 15:19:49.31146+05:30");
String mdx = sdf.format(d1);
System.out.println(mdx);
Run Code Online (Sandbox Code Playgroud)
问题是,我得到一个错误说:
Exception in thread "main" java.text.ParseException: Unparseable date: "2014-04-01 15:19:49.31146+05:30"
at java.text.DateFormat.parse(DateFormat.java:357)
at com.karthik.Timestampvalidate.main(Timestampvalidate.java:31)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这一问题 ?
您需要使用X而不是Z:
SimpleDateFormat mdyFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSX");
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅javadoc.
注意:仅适用于Java 7+.
如果您在 Java 8 中使用新的 JSR 310 日期/时间 API,则可以使用该XXX格式来解析时区。您需要三个Xs 来获取您正在使用的特定的以冒号分隔的偏移量。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSXXX");
TemporalAccessor dateTime = formatter.parse("2014-04-01 15:19:49.31146+05:30");
// returns: {OffsetSeconds=19800},ISO resolved to 2014-04-01T15:19:49.311460
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10681 次 |
| 最近记录: |