【问题标题】:Conversion of String with timezone to date将带时区的字符串转换为日期
【发布时间】:2014-03-28 09:47:01
【问题描述】:

我有一个包含时区日期的字符串,例如 2014-01-24 09.05.14 -06:00.

我需要将其转换为 YYYYMMDD 的日期格式。 Java中将上述字符串转换为日期的最佳方法是什么。

【问题讨论】:

    标签: java string date


    【解决方案1】:

    这样做(需要 JDK 7+):

    DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss X");
    DateFormat outputFormat = new SimpleDateFormat("yyyyMMdd");
    String dateString = "2014-01-24 09.05.14 -06:00";
    Date date = inputFormat.parse(dateString);
    System.out.println(outputFormat.format(date));
    

    【讨论】:

    • 出现以下错误:线程“main”中的异常 java.lang.IllegalArgumentException:java.text.SimpleDateFormat.compile(未知来源)处 java.text.SimpleDateFormat 处的非法模式字符“X”。初始化(未知来源)
    • @Shitu X 在 Java 7 中是新的,在较旧的 Java 版本中不受支持。
    【解决方案2】:

    一种方法是将字符串转换为日期,然后使用 DateFormatter(例如SimpleDateFormat)来格式化该日期。

    查看此Tutorial 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-31
      • 2020-09-24
      • 2013-10-23
      • 2017-01-03
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      相关资源
      最近更新 更多