Java 字符串到日期的转换给出了错误的日期
我有一个日期:Java 字符串到日期的转换给出了错误的日期,java,date,Java,Date,我有一个日期: "01/15/2015 12:00 AM" 我想要一个“dd/MM/yyyy”HH:MM:ss“格式的日期对象。我怎样才能做到这一点 我试过: String datetime1 ="01/15/2015 12:00 AM" DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm a"); Date datepicker1 = dateFormat.parse(datetime1); 但这个日期选择器的日期
"01/15/2015 12:00 AM"
我想要一个“dd/MM/yyyy”HH:MM:ss“
格式的日期对象。我怎样才能做到这一点
我试过:
String datetime1 ="01/15/2015 12:00 AM"
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm a");
Date datepicker1 = dateFormat.parse(datetime1);
但这个日期选择器的日期是2016年。我不知道为什么会发生这种情况。将其更改为:
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm a");
↑
您翻转了MM
和dd
我猜这里发生的事情是Java认为你有15个月的时间,把它加到2015年的“1”日,所以你得到了2016年。。您离实现时间机器不远:)将其更改为:
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm a");
↑
您翻转了MM
和dd
我猜这里发生的事情是Java认为你有15个月的时间,把它加到2015年的“1”日,所以你得到了2016年。。您离实现时间机器不远:)java如何选择世界上一个可以原谅格式错误的地方,这不是很好吗我的意思是,它无法解析“0”“变成一个整数,但很高兴地与第15个月一起出现:DThanx Maroun。就我而言,这是一个非常愚蠢的错误。@Dima Java设计人员想到了生活在其他星系中的程序员,他们对时间有不同的定义。@marounnaroun应该由
locale
@Dima来处理。好吧,这个功能可能很有用(但我懒得考虑一个用例:P)。您可以使用来禁用它。这不是很好吗,java如何选择世界上的一个地方来原谅格式化错误?:)我的意思是,它无法解析“0”“变成一个整数,但很高兴地与第15个月一起出现:DThanx Maroun。就我而言,这是一个非常愚蠢的错误。@Dima Java设计人员想到了生活在其他星系中的程序员,他们对时间有不同的定义。@marounnaroun应该由locale
@Dima来处理。好吧,这个功能可能很有用(但我懒得考虑一个用例:P)。您可以使用来禁用它。