public class GregorianCalendarextends CalendarGregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家使用的标准日历系统。
GregorianCalendar 是一种混合日历,在单一间断性的支持下同时支持儒略历和格里高利历系统,在默认情况下,它对应格里高利日历创立时的格里高利历日期(某些国家是在 1582 年 10 月 15 日创立,在其他国家要晚一些)。可由调用方通过调用 setGregorianChange() 来更改起始日期。
历史上,在那些首先采用格里高利历的国家中,1582 年 10 月 4 日(儒略历)之后就是 1582 年 10 月 15 日(格里高利历)。此日历正确地模拟了这些变化。在开始格里高利历之前,GregorianCalendar 实现的是儒略历。格里高利历和儒略历之间的惟一区别就是闰年规则。儒略历指定每 4 年就为闰年,而格里高利历则忽略不能被 400 整除的世纪年。
GregorianCalendar 可实现预期的 格里高利历和儒略历。也就是说,可以通过在时间上无限地向后或向前外推当前规则来计算日期。因此,对于所有的年份,都可以使用 GregorianCalendar 来生成有意义并且一致的结果。但是,采用现代儒略历规则时,使用 GregorianCalendar 得到的日期只在历史上从公元 4 年 3 月 1 日之后是准确的。在此日期之前,闰年规则的应用没有规则性,在 45 BC 之前,甚至不存在儒略历。
在格里高利历创立以前,新年是 3 月 25 日。为了避免混淆,此日历始终使用 1 月 1 日为新年。如果想要格里高利历转换之前并且处于 1 月 1 日和 3 月 24 日之间的日期,则可以进行手动调整。
为 WEEK_OF_YEAR 字段所计算的值的范围从 1 到 53。一年的第一个星期始于 getFirstDayOfWeek() 的最早 7 天,至少包含该年的 getMinimalDaysInFirstWeek() 各天。这取决于 getMinimalDaysInFirstWeek()、getFirstDayOfWeek() 的值以及 1 月 1 日是星期几。一年的第一个星期和下一年的第一个星期之间的各个星期按顺序从 2 到 52 或 53(根据需要)进行编号。
例如,1998 年 1 月 1 日是星期四。如果 getFirstDayOfWeek() 为 MONDAY,并且 getMinimalDaysInFirstWeek() 为 4(这些值反映了 ISO 8601 和很多国家标准),则 1998 年的第一个星期开始于 1997 年 12 月 29 日,结束于 1998 年 1 月 4 日。但是,如果 getFirstDayOfWeek() 为 SUNDAY,那么 1998 年的第一个星期开始于 1998 年 1 月 4 日,结束于 1998 年 1 月 10 日;1998 年头三天是 1997 年第 53 个星期的一部分。
为 WEEK_OF_MONTH 字段所计算的值的范围从 0 到 6。一个月的第一个星期(WEEK_OF_MONTH = 1 的日期)是该月至少连续 getMinimalDaysInFirstWeek() 天中的最早日期,结束于 getFirstDayOfWeek() 的前一天。与一年的第一个星期不同,一个月的第一个星期可能短于 7 天,也不必从 getFirstDayOfWeek() 这一天开始,并且不包括前一个月的日期。在第一个星期之前该月日期的 WEEK_OF_MONTH 为 0。
例如,如果 getFirstDayOfWeek() 为 SUNDAY,getMinimalDaysInFirstWeek() 为 4,那么 1998 年 1 月的第一个星期是从 1 月 4 日星期日到 1 月 10 日星期六。这些天的 WEEK_OF_MONTH 为 1。1 月 1 日星期四到 1 月 3 日星期六的 WEEK_OF_MONTH 为 0。如果 getMinimalDaysInFirstWeek() 变为 3,则 1 月 1 日到 1 月 3 日的 WEEK_OF_MONTH 为 1。
clear 方法将日历字段设置为未定义。GregorianCalendar 为每个日历字段使用以下默认值(如果该值未定义)。 字段
默认值
分享到:
相关推荐
"天文时间与历法讲义" 一、时间的本质 时间是建立在物质运动和变化的基础上的,时间和空间都是物质存在的基本形式,物质的运动与变化永远是在时间和空间中进行的。宇宙万物都是在时间的长河中发生、发展与变化着。...
5. **蒙古族的历法与时间观念**:蒙古族以草木生长来标记时间,反映了游牧民族对时间的独特体验,草木的荣枯与牧业生产周期紧密关联。 6. **节日的意义**:节日不仅是时间的划分,也是社区聚集、庆祝和传承文化的...
北宋年号干支纪年对比表为我们提供了一个研究北宋历史的工具,它不仅帮助我们了解北宋各个皇帝的年号和干支的对应关系,同时也可以作为探索古代历法与时间体系的窗口。 北宋自建隆元年(960年)至靖康二年(1127年...
12. 历法与时间转换: - 历表用于对照和换算不同历法的年月日。 13. 古代地图与地理学: - 《禹贡地区图》和《地形住持图》是古代地理学的成果,作者是裴秀。 以上是文件中涉及的文献学相关知识点的详细阐述,...
玛雅历法的形成与发展,不仅反映了玛雅人对于时间的深刻认识,而且展现了他们在数学和天文学方面非凡的智慧。这一独特的知识体系对于后世科学领域,尤其是计算机科学和天文学,产生了不可磨灭的影响。 在玛雅历法中...
历法是人类为了记录时间、安排生产和生活活动而创建的系统,是文明发展的重要标志之一。在《历法常识》中,我们预计会涉及到以下核心知识点: 1. 历法类型:讲解阳历(如公历)、阴历(如农历)、阴阳历(如伊斯兰...
在中国古代,历法不仅是一种记录时间的手段,它还蕴含着深厚的文化意义和社会价值。关于历法起源的传说,最为人所熟知的便是“万年创建历法”的故事。这个传说不仅揭示了历法的重要性和演变,还映射出古代中国人对...
学习历法不仅是为了了解时间的计算方法,更是为了探索时间背后的文化与哲学,以及不同文明之间的交流与影响。 总之,中国的历法不仅是一种时间记录的工具,它还深深植根于中华文明的沃土之中,与天文、历史、哲学等...
中国古代历法中的“推没灭算法”是指通过计算来确定历法中“没日”与“灭日”的具体日期,以及...此外,这项研究还能帮助现代学者理解古代历法与现代天文学之间的联系,以及古代科技在时间计算方面所达到的高水平成就。
中国古代的天文与历法是中华文化的重要组成部分,它们与人们的日常生活紧密相连,特别是在农业社会中,天文观测对于指导农耕有着至关重要的作用。古代天文学的发展可以追溯到新石器时代的原始社会,人们开始关注太阳...
5. 日晷、圭表与天文仪器:古人在没有现代计时工具的情况下,利用日晷、圭表等天文仪器测量日影长度来确定时间,这同样是历法制定的关键。这部分内容可能包括这些古代天文仪器的工作原理和使用方法。 6. 月相与农历...
授时历由元代的郭守敬编制,其精度与1582年的公历(格里高利历)相当,但早于西方300多年。时宪历则在明朝末年由徐光启主持编修,结合了西洋的数学方法,并在清朝时期得到应用,成为了后来广泛使用的农历。 其次,...
“一纪”作为历法时间单位,通常指十二年,与岁星运行周期相关。还有诸多礼节与仪式,如“陛辞”便是官员退休时向皇帝辞行的仪式。又如谥号与封号,它们是对已故人物的评价,包括褒贬之分。在文书方面,“檄”最初是...
在VB.NET版本中,开发者可能利用了.NET Framework的强大功能,例如DateTime结构进行日期和时间的操作,以及可能自定义的类和模块来实现历法规则的封装。VB.NET提供了丰富的控件和设计工具,使得界面设计更加直观,...
【JAVA科学计算历法】是一个综合性的工具,主要用于进行各种日期和时间相关的科学计算,包括中国传统的农历、节气、天干地支、四柱八字、择吉等。这个工具包特别适合对传统文化和时间计算有需求的项目,且内部注释...
儒略日广泛应用于天文学、历法计算和科学领域,因为它提供了一个无国界、无文化差异的时间表示方式。 其次,UTC,即协调世界时,是国际原子时(TAI)与地球自转相协调的时间标准。它确保了全世界的时间保持一致,是...
9. 古希腊历法与时间计算:古希腊和罗马的历法对后世产生了深远影响,尽管具体细节未在文本中详述,但可以推断古希腊的历法系统是其文化成就的一部分,对罗马和后来的西方世界有着重要贡献。 以上内容涵盖了古代...
在中国,农历与节气的显示尤为重要,因为它符合中国人的日常生活习惯。在设计一个日历时,需要考虑到这些不同的历法,并能够根据用户的设置进行切换。同时,日历应能准确地显示每个月的天数,比如2月份可能有28天或...
#### 春节的历法与时间演变 - **夏朝至秦朝**:夏朝将孟春(即正月)视为正月;商朝则以腊月(十二月)作为正月;秦始皇统一六国后,规定以十月为正月,这一历法被汉朝初期沿用。 - **名称变革**:先秦时期,春节被...
cal2wd 借助MJD,由公历年月日推算星期几,按照格里高利十三世的历法改革去掉1582年10月5日至14日 cal2wd1 由公历年月日推算星期几,按照英国人的做法去掉1752年9月3日至13日 cal2wd2 不借助MJD,由公历年月日推算...