Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用FastDateFormat分析字符串中的日期_Java_Date - Fatal编程技术网

Java 无法使用FastDateFormat分析字符串中的日期

Java 无法使用FastDateFormat分析字符串中的日期,java,date,Java,Date,我使用以下代码段从字符串中获取日期 //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

我使用以下代码段从字符串中获取日期

//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()方法,但没有可用的方法

使用parseObject()可以得到如上所述的结果

API中的parseObject()方法如下所示,它始终返回null


请就替代方法或某些稳定版本提供建议

已解决wrt升级版本的问题

我们实际上使用Maven来获取依赖项。其存在的原因如下:

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

org.apache.commons
commons-lang3
3.3
早些时候,我正努力用:

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

org.apache.commons
公地郎
3.6
这是一个版本控制问题,在使用Maven时,可能更是一个问题


感谢@Hugo在问题评论中提供的帮助。

在棒棒糖制作前的设备KK 4.4.4上也出现了此错误。 使用SimpleDataFormat

例如:

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

什么是
201701
?如果是年和月,则您的模式是错误的(应该是
yyyyMM
而不是
yyyyww
):如果
parse
方法不可用,则可能您使用的版本与文档引用的版本不同。@Hugo格式为年和周。好的,看看其他版本(这是2.6版)。我可以在3.6版中找到
parse
方法