我遇到了SimpleDateFormat的问题。当我试图执行程序时,我得到 01-01-2014 20:18:18 输出 10-01-2014 20:18:18 。 我发布了我的密码。请帮我在代码中发现错误。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ValidDate {
public static void main(String[] args) {
ValidDate vd = new ValidDate();
vd.processDate();
}
private void processDate() {
SimpleDateFormat sdf = new SimpleDateFormat("MM-DD-yyyy HH:mm:ss");
try {
Date dt = sdf.parse("10-01-2014 20:18:18");
System.out.println(sdf.format(dt));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
谢谢。
答案 0 :(得分:8)
每月使用dd
。 DD
是一年中的一天。一年中的某一天显然优先于一个月,因此一年中01
的值会在解析时覆盖10
个月。
答案 1 :(得分:2)
更改DD - > DD
SimpleDateFormat sdf = new SimpleDateFormat("MM-DD-yyyy HH:mm:ss");
到
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");