我想解析一个日期格式字符串,然后打印出格式化的字符串为相同的模式。我期待他们是一样的。但是输出与输入不一致。任何帮助深表感谢Java SimpleDateFormat解析不可逆?
这里是我的代码
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test{
public static void main(String[] args) {
String pattern=args[0];
String dtstr = args[1];
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date date = new Date();
try {
//
String fmtd = sdf.format(date);
System.out.println("The formatted string: " +fmtd);
System.out.println("The parsed date is: " + sdf.format(sdf.parse(fmtd)));
System.out.println("The parsed date from input is: " + sdf.format(sdf.parse(dtstr)));
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是我如何调用该
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ sudo java Test "EEE MMM dd YYYY HH:mm:ss Z (zzzz)" "Sun Sep 22 2013 20:03:46 +0530 (India Standard Time)"
这里是输出
The formatted string: Wed Sep 25 2013 19:55:57 +0000 (Coordinated Universal Time)
The parsed date is: Wed Jan 02 2013 19:55:57 +0000 (Coordinated Universal Time)
The parsed date from input is: Sun Dec 30 2013 20:03:46 +0530 (India Standard Time)
我期待的formatted string
和parsed strings
到b e相同 我做错了什么?