java - 字符串到日期的转换给出了错误的日期

标签 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);

但是这个 datepicker 的日期是 2016 年。我不知道为什么会这样。

最佳答案

将其更改为:

DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm a");
                                               ↑

你翻转了 MMdd..

我猜这里发生的事情是 Java 认为你有 15 个月,将它添加到 2015 年的“1”日,所以你得到了 2016.. 你离实现时间机器不远了:)

关于java - 字符串到日期的转换给出了错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27876825/

相关文章:

java - 使用 SimpleDateFormat 的奇怪日期和时间解析结果

Facebook API 日期格式

java - Java中\G边界匹配器的使用

java - 将输入密码与网络应用程序中存储的散列密码进行比较

java - JNI AttachNativeThread 在 Linux 上总是失败并返回 -1 值

ruby-on-rails - 在 Rails 中获取每个季度的第一个星期一

java - 如果在执行 FileChannel.map() 时 MappedByteBuffer 的大小大于文件长度,会发生什么

java - 使用对象属性之一比较两个对象列表

python - 是否有确定日期在一年中哪个季度的功能?

python - Factory Boy 日期提供程序正在返回字符串