类似于Python的Java日历datetime
问题描述:
我是Java新手,必须将使用datetime
的Python脚本转换为Java程序。如何在Java中创建一个Calendar
对象,该对象可以具有任何可能的年,月和日,例如2050年3月12日。我必须能够添加一定的天数 - 例如,03.12.2050 + 29天得到01.01.2051 - 我怎样才能在Java中做到这一点?类似于Python的Java日历datetime
这将是有用的,但不是必要的,如果日历类也可以代表儒略日期。
答
你应该考虑使用java.time API(在Java中8中引入) - 这是更好,更容易比传统日历API使用。
适用于您的例子,它看起来像:
LocalDate d1 = LocalDate.of(2050, 12, 3);
LocalDate d2 = d1.plusDays(29); // 2051-01-01
它还支持Julian days,但不是儒略历,这是threeten-extras可用。
答
GregorianCalendar g = new GregorianCalendar(12,12,1994);
g.add(GregorianCalendar.YEAR,2);
由于某种原因,我没有找到这个...谢谢你这就是我需要的......文档很难阅读......我如何返回这个日期的月份?是否有创建一个朱利安约会的可能性? – Blood
您可以使用返回[Date](https://docs.oracle.com/javase/7/docs/api/java/util/Date.html)对象的getTime()方法。从那里你可以提取几天,一个月或一年(但这些是不推荐使用的方法) – slayne
'code'a = new GregorianCalendar(2000,11,12); a.add(GregorianCalendar.DAY_OF_MONTH,30); System.out.println(a.get(GregorianCalendar.DAY_OF_MONTH)); System.out.println(a.get(GregorianCalendar.MONTH)); System.out.println(a.get(GregorianCalendar.YEAR));'code'为什么月份之间的变化不起作用? (或仅有时) – Blood