Java 为什么日期对象返回错误的日期?

Java 为什么日期对象返回错误的日期?,java,Java,我正在做这件事 String dateString = "12 Nov 2011 12:00" DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm"); Date date = formatter.parse(dateString); System.out.println(date.getDay()); 这张打印出来的日期是3天?为什么会这样?如何打印正确的日期?date.getDay()以零索引数字形式返回一周中的日期

我正在做这件事

String dateString = "12 Nov 2011 12:00"
DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm");
Date date = formatter.parse(dateString);
System.out.println(date.getDay());
这张打印出来的日期是3天?为什么会这样?如何打印正确的日期?

date.getDay()以零索引数字形式返回一周中的日期。在这种情况下,应该是星期六(6)

周三(3)的结果表明您使用的是所提供代码的变体,可能忘记了月份是零索引的。e、 g

Date date = new Date(2011, 11, 12, 24, 0, 0); // month is now December, and time ticks over to Wednesday 13th
System.out.println(date.getDay()); // this would produce 3
我相信您想要date.getDate()

如果要查找当天的字符串表示形式,请看以下示例:

更好的是,查看库,它比JavaSDK中提供的类直观得多。Java的未来版本甚至可能采用类似于Joda Time()的新日期框架。getDay()以零索引数字形式返回一周中的某一天。在这种情况下,应该是星期六(6)

周三(3)的结果表明您使用的是所提供代码的变体,可能忘记了月份是零索引的。e、 g

Date date = new Date(2011, 11, 12, 24, 0, 0); // month is now December, and time ticks over to Wednesday 13th
System.out.println(date.getDay()); // this would produce 3
我相信您想要date.getDate()

如果要查找当天的字符串表示形式,请看以下示例:


更好的是,查看库,它比JavaSDK中提供的类直观得多。Java的未来版本甚至可能采用类似于Joda Time()的新日期框架。请阅读值得学习的文档


date.getDay()打印一周中的某一天。它应该显示6,因为那是一个星期六,不确定你是如何得到3的结果。

请阅读值得学习的文档



date.getDay()打印一周中的某一天。它应该显示6,因为这是一个星期六,不确定你是如何得到3的结果。

你显示的代码应该打印6,因为这个日期是星期六。在我的电脑上发生的。没有进一步的信息,我无法推断更多。这是您执行的完整代码吗?您可以打印date.toString()的值,这可能会提供更多信息。

您显示的代码应该打印6,因为这个日期是星期六。在我的电脑上发生的。没有进一步的信息,我无法推断更多。这是您执行的完整代码吗?您可以打印date.toString()的值,这可能会提供更多信息。

您阅读文档了吗?没有,我还没有,但我已经使用它很长时间了,对我来说一直很好。建议您阅读文档;答案就在这里。嗯,罗夫,我强烈建议你查看@OliCharlesworth的链接。此外,Date也不太受欢迎。我将使用Calendar.get()函数获取日期对象的任何部分。它更加准确和安全。奥利+1。没什么要说的了。你看过文档了吗?没有,我还没有,但我已经用了很长一段时间了,一直对我很好。我建议你看看文档;答案就在这里。嗯,罗夫,我强烈建议你查看@OliCharlesworth的链接。此外,Date也不太受欢迎。我将使用Calendar.get()函数获取日期对象的任何部分。它更加准确和安全。奥利+1。没什么要说的了。但是getDate不会返回整个日期吗,我只想要一天吗?@HellBoy:说真的,只要看看文档就行了!2011-11-12不是星期三,是星期六。记忆:当然是星期六,我应该检查一下:)谢谢!但是getDate不会返回整个日期吗?我只想要一天?@HellBoy:说真的,只要看一下文档就行了!2011-11-12不是星期三,是星期六。记忆:当然是星期六,我应该检查一下:)谢谢!