下面的代码给出了解析日期为"Wed Jan 13 00:00:00 EST 2010"而不是"Wed Jun 13 00:00:00 EST 2010".任何想法都非常感激.
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss");
String str = "2010-06-13T00:00:00";
Date date = sf.parse(str);
System.out.println(" Date " + date.toString());
Run Code Online (Sandbox Code Playgroud) 我目前的日期格式是:08/11/2008 00:00
我需要将此输出转换为2008/11/08 00:00然而,使用SimpleDateFormat进行研究它无法这样做并给我一个完全不同的输出,这里是我的代码如下:
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy/MM/dd HH:mm")
Date starting= simpleDateFormat2.parse(startTime);
System.out.println("" + simpleDateFormat2.format(starting) + " real date " + startTime);
Run Code Online (Sandbox Code Playgroud)
我知道我正在解析正确的字符串,因为发生以下输出:
0014/05/01 00:00 real date 08/11/2008 00:00
Run Code Online (Sandbox Code Playgroud)
我不太确定机械师如何检测到0014/05/01 00:00而不是
2008/11/08 00:00
我期待所有的建议提前谢谢
我正在使用MM-dd-yyyy HH:mm:ss
格式从用户输入解析日期字符串,我发现12-20-2012 10:10:10 abcdexxxx
也可以被删除.怎么会发生这种情况?这是我的代码:
SimpleDateFormat df = new SimpleDateFormat( "MM-dd-yyyy HH:mm:ss" );
String currColValue = "12-20-2012 10:10:10 abcdexxxx";
try{
d=df.parse( currColValue );
}catch( ParseException e ){
System.out.println("Error parsing date: "+e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
但是没有例外,String值被解析为Date.为什么?