如何使用 GregorianCalendar 设置公元前年份

发布于 2024-08-20 05:13:05 字数 321 浏览 5 评论 0原文

我有一项作业,将日期从一种日历系统转换为另一种日历系统。

GregorianCalendar 的文档似乎建议您可以使用公元前年份的日期,但我不知道如何操作。如果我只是将年份设为负数,即

 GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
 System.out.println(cal.getTime.toString());

它打印出“Sun Feb 02 03:00:00 GMT-05:00 21”,这显然是不正确的。

I have an assignment that converts dates from one calendar system to another.

The documentation for GregorianCalendar seems to suggest that you can use dates with BCE years, but I have no idea how. If I simply make the year negative, i.e.

 GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
 System.out.println(cal.getTime.toString());

It prints out 'Sun Feb 02 03:00:00 GMT-05:00 21', which is clearly not correct.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧伤还要旧人安 2024-08-27 05:13:05

您需要将 ERA 设置为 BC(BC 是 公历日历)。

标准(公历)日历有 2 个时代,公元前和公元。

http://java.sun.com/j2se/ 1.4.2/docs/api/java/util/GregorianCalendar.html

例如

calendar.set(Calendar.ERA, GregorianCalendar.BC);

You need to set the ERA to BC (BC is a static field on GregorianCalendar).

The standard (Gregorian) calendar has 2 eras, BC and AD.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html

e.g.

calendar.set(Calendar.ERA, GregorianCalendar.BC);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文