SimpleDateFormat模式解析为Date的弃用String构造函数是什么?

时间:2013-01-16 19:53:43

标签: java

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

  

已过时。从JDK 1.1版开始,由DateFormat.parse(String s)替换。

我尝试使用SimpleDateFormatter但是默认格式化程序导致异常,所以我想尝试使用模式,但是像String构造函数那样解析的模式是什么?


注意:这与其他类似的问题有所不同,因为它特别要求更换一个已弃用的(和流行的)构造函数,而不只是请求帮助解析任意日期字符串。

1 个答案:

答案 0 :(得分:3)

模式为EEE MMM d hh:mm:ss zzz YYYY,因此您可以使用new SimpleDateFormat("EEE MMM d hh:mm:ss zzz YYYY")构建它。

代码如

  

日期d =新日期(“美国东部时间2012年5月12日04:46:05”);

可以改写为:

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

来自java.util.Date.parse(String s) JavaDoc的

编辑结果是方法accepts many syntaxes;所以对于所有调用都没有匹配模式会遇到。可能需要使用java.text.SimpleDateFormat中的文档来摆弄给定的模式。