【问题标题】:Unable to parse date from String using FastDateFormat无法使用 FastDateFormat 从字符串中解析日期
【发布时间】:2017-07-19 10:49:53
【问题描述】:

我正在使用以下 sn-ps 来从字符串中获取日期。

//class  org.apache.commons.lang3.time.FastDateFormat
FastDateFormat fdf = FastDateFormat.getInstance("yyyyww");
Object ob = fdf.parseObject("201701", new ParsePosition(1));
java.util.Date d = (java.util.Date) ob;
System.out.println(d);

也通过调用 parseObject(String) 方法完成使用。但是在研究 API 代码后,我发现它创建了 PArsePosition 对象,同时在其构造函数中传递了 0,该构造函数已在代码中处理以引发异常。

//class  org.apache.commons.lang3.time.FastDateFormat
FastDateFormat fdf = FastDateFormat.getInstance("yyyyww");
Object ob = fdf.parseObject("201701", new ParsePosition(1));
java.util.Date d = (java.util.Date) ob;
System.out.println(d);

下面的文档提到存在 parse() 方法,但没有可用。

FastDateFormat documentation

使用 parseObject() 可以得到上述结果。

API中的parseObject()方法如下,总是返回null。

请提供替代方法或一些稳定版本的建议。

【问题讨论】:

  • 什么是201701?如果是年份和月份,则您的模式是错误的(应该是 yyyyMM 而不是 yyyyww):docs.oracle.com/javase/7/docs/api/java/text/…
  • 如果parse 方法不可用,可能您使用的不是文档中提到的版本。
  • @Hugo 格式是年和周。好的,正在研究更多版本(这个是 2.6)。
  • 我可以在 3.6 版本中找到 parse 方法

标签: java date


【解决方案1】:

升级版的问题已经解决。

我们实际上使用 Maven 来获取依赖项。它存在于以下情况:

<dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.3</version>
    </dependency> 

虽然早些时候我正在努力做到这一点:

<dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang</artifactId>
        <version>3.6</version>
    </dependency>

这是一个版本控制问题,在使用 Maven 时可能更多。

感谢@Hugo 在问题 cmets 方面的帮助。

【讨论】:

    【解决方案2】:

    在棒棒糖之前的设备 KK 4.4.4 上也出现此错误。 使用 SimpleDateFormat。

    例子:

    SimpleDateFormat ISO8601DATEFORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.GERMANY);
                    String date = dateString.replaceAll("\\+0([0-9]){1}\\:00", "+0$100");
                    return ISO8601DATEFORMAT.parse(date);
    

    【讨论】:

      猜你喜欢
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多