java - 在java中用时区解析时间戳?

标签 java timestamp timestamp-with-timezone

我正在尝试解析从数据库中获取的带有时区的时间戳格式字符串。字符串如下:

   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);

问题是,我收到一条错误消息:

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)

有谁知道如何解决这个问题?

最佳答案

您需要使用 X 而不是 Z:

SimpleDateFormat mdyFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSX");

参见 the javadoc了解更多信息。

注意:仅在 Java 7+ 中可用。

关于java - 在java中用时区解析时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22783439/

相关文章:

java - 在 Spring JPA 中避免 SQL 注入(inject)

java - 解析带有时区的时间戳

php - 从 MYSQL 上的时间戳中提取日/月/年

postgresql - 如何在准备好的语句中传递带有 ' '(时间戳)的字符串?

java - Java 桌面应用程序的 ADFS/SAML 身份验证

java - Java中RSA公钥生成和加密的有效实现

javascript - 如何更改具有不同时区的javascript中的日期

java - 如何从 'timestamp with time zone' 列读取时区?

java - Java中的单链表——get()方法

java.text.ParseException : Unparseable date Exception while converting timestamp value to time in java 异常