Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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 什么是SimpleDataFormat模式,它像Date的不推荐的字符串构造函数一样进行解析?_Java - Fatal编程技术网

Java 什么是SimpleDataFormat模式,它像Date的不推荐的字符串构造函数一样进行解析?

Java 什么是SimpleDataFormat模式,它像Date的不推荐的字符串构造函数一样进行解析?,java,Java,我有一些代码看起来像“Sat May 12 04:46:05 EDT 2012”,它目前正在被java.util.Date的构造函数解析。但是,现在我在IDE中收到一条警告,因为它说它已被弃用,JavaDoc说: 不赞成。从JDK版本1.1开始,由DateFormat.parse(字符串s)代替 我尝试使用SimpleDataFormatter但是默认的格式化程序导致了一个异常,所以我想尝试使用一个模式,但是像字符串构造函数那样要解析的模式是什么 注意:这与其他类似问题不同,因为它专门询问如何

我有一些代码看起来像
“Sat May 12 04:46:05 EDT 2012”
,它目前正在被
java.util.Date
的构造函数解析。但是,现在我在IDE中收到一条警告,因为它说它已被弃用,JavaDoc说:

不赞成。从JDK版本1.1开始,由DateFormat.parse(字符串s)代替

我尝试使用
SimpleDataFormatter
但是默认的格式化程序导致了一个异常,所以我想尝试使用一个模式,但是像字符串构造函数那样要解析的模式是什么



注意:这与其他类似问题不同,因为它专门询问如何替换已弃用(和流行)的构造函数,而不仅仅是询问解析任意日期字符串的帮助。

模式是
EEE MMM d hh:mm:ss zzz YYYY
,因此您可以使用
新的SimpleDataFormat来构造它(“EEE MMM d hh:mm:ss zzz YYYY”)

所以代码像

日期d=新日期(“2012年5月12日星期六04:46:05 EDT”)

可以重写为:

DateFormat df = new SimpleDateFormat( "EEE MMM d hh:mm:ss z YYYY" );
Date d = df.parse( "Sat May 12 04:46:05 EDT 2012" );


编辑:从JavaDoc中可以看出,该方法
接受许多语法;
因此,对于您将遇到的所有调用,都不会有单一的匹配模式。可能需要使用来自的文档修改给定的模式。

嗯..您更喜欢使用@RohitJain legacy code wi处理日期没有单元测试,因此它一定是有风险的。重写代码时,请注意SimpleDataFormat不是线程安全的。这只是一个很小的注释,这种格式也只能使用一个
z