public class DateComponents extends Object implements Serializable, Comparable<DateComponents>
此类使用天文约定的日历,这也是java.util.Date
使用的约定:年零位于年份-1和+1之间,并且1582年缺少10天。在这些特殊日期周围使用的日历是:
此类的实例保证是不可变的。
TimeComponents
, DateTimeComponents
, Serialized Form
Modifier and Type | Field and Description |
---|---|
static DateComponents |
BEIDOU_EPOCH
北斗周的参考时期:2006-01-01。
|
static DateComponents |
CCSDS_EPOCH
CCSDS时间代码格式(CCSDS 301.0-B-4)的参考时期:1958-01-01。
|
static DateComponents |
FIFTIES_EPOCH
1950年日期的参考时期:1950-01-01。
|
static DateComponents |
GALILEO_EPOCH
伽利略系统时间的参考时期:1999-08-22。
|
static DateComponents |
GLONASS_EPOCH
格洛纳斯四年间隔编号的参考时期:1996-01-01。
|
static DateComponents |
GPS_EPOCH
GPS周的参考时期:1980-01-06。
|
static DateComponents |
IRNSS_EPOCH
IRNSS周的参考时期:1999-08-22。
|
static DateComponents |
J2000_EPOCH
J2000.0参考时期:2000-01-01。
|
static DateComponents |
JAVA_EPOCH
Java参考时期:1970-01-01。
|
static DateComponents |
JULIAN_EPOCH
朱利安日期的参考时期:-4712-01-01。
|
static DateComponents |
MAX_EPOCH
最大支持日期。
|
static DateComponents |
MIN_EPOCH
最大支持日期。
|
static DateComponents |
MODIFIED_JULIAN_EPOCH
修改儒略日期的参考时期:1858-11-17。
|
static DateComponents |
QZSS_EPOCH
QZSS周的参考时期:1980-01-06。
|
Constructor and Description |
---|
DateComponents(DateComponents epoch, int offset)
根据与参考时期的偏移量构建日期。
|
DateComponents(int offset)
根据与 J2000_EPOCH 的偏移量构建日期。
|
DateComponents(int year, int dayNumber)
根据年份和日期编号构建日期。
|
DateComponents(int year, int month, int day)
根据其组件构建日期。
|
DateComponents(int year, Month month, int day)
根据其组件构建日期。
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(DateComponents other) |
static DateComponents |
createFromWeekComponents(int wYear, int week, int dayOfWeek)
根据周组件构建日期。
|
boolean |
equals(Object other) |
int |
getCalendarWeek()
获取日历周编号。
|
int |
getDay()
获取日。
|
int |
getDayOfWeek()
获取星期几。
|
int |
getDayOfYear()
获取年份中的日期编号。
|
int |
getJ2000Day()
获取相对于J2000时期的日期编号。
|
int |
getMJD()
获取修改儒略日。
|
int |
getMonth()
获取月份。
|
Month |
getMonthEnum()
以枚举形式获取月份。
|
int |
getYear()
获取年份。
|
int |
hashCode() |
static DateComponents |
parseDate(String string)
解析ISO-8601格式的字符串以构建日期。
|
String |
toString()
获取日期的字符串表示(ISO-8601)。
|
public static final DateComponents JULIAN_EPOCH
java.util.Date
和DateComponents
类都遵循天文约定,并考虑年份-1和+1之间的年份0,因此此参考日期位于年份-4712而不是其他遵循不同约定的文档或程序中的年份-4713(例如convcal
实用程序)。
public static final DateComponents MODIFIED_JULIAN_EPOCH
public static final DateComponents FIFTIES_EPOCH
public static final DateComponents CCSDS_EPOCH
public static final DateComponents GALILEO_EPOCH
public static final DateComponents GPS_EPOCH
public static final DateComponents QZSS_EPOCH
public static final DateComponents IRNSS_EPOCH
public static final DateComponents BEIDOU_EPOCH
public static final DateComponents GLONASS_EPOCH
public static final DateComponents J2000_EPOCH
public static final DateComponents JAVA_EPOCH
public static final DateComponents MAX_EPOCH
这是日期5881610-07-11,对应于J2000_EPOCH
之后Integer.MAX_VALUE
天。
public static final DateComponents MIN_EPOCH
这是日期-5877490-03-03,对应于J2000_EPOCH
之前Integer.MIN_VALUE
天。
public DateComponents(int year, int month, int day) throws IllegalArgumentException
year
- 年份(BC年份可能为0或负数)
month
- 月份,从1到12
day
- 日期,从1到31
IllegalArgumentException
- 如果给定不一致的参数(参数超出范围,非闰年的2月29日,1582年的公历闰年期间的日期等)
public DateComponents(int year, Month month, int day) throws IllegalArgumentException
year
- 年份(BC年份可能为0或负数)
month
- 月份枚举
day
- 日期,从1到31
IllegalArgumentException
- 如果给定不一致的参数(参数超出范围,非闰年的2月29日,1582年的公历闰年期间的日期等)
public DateComponents(int year, int dayNumber) throws IllegalArgumentException
year
- 年份(BC年份可能为0或负数)
dayNumber
- 年份中的日期编号,从1到366
IllegalArgumentException
- 如果日期编号超出年份范围
public DateComponents(int offset)
J2000_EPOCH
的偏移量构建日期。
offset
- 相对于J2000_EPOCH
的偏移量
getJ2000Day()
public DateComponents(DateComponents epoch, int offset)
此构造函数主要用于从修改儒略日(使用MODIFIED_JULIAN_EPOCH
)或GPS周数(使用GPS_EPOCH
)构建日期。
epoch
- 参考时期
offset
- 相对于参考时期的偏移量
DateComponents(int)
, getMJD()
public static DateComponents createFromWeekComponents(int wYear, int week, int dayOfWeek) throws IllegalArgumentException
日历周编号是1到52或53之间的数字,具体取决于年份。根据ISO定义,第1周是包含一年中第一个星期四的周。因此,第1周可能从前一年开始,第52周或第53周可能在下一年结束。例如,日历日期1995-01-01对应于周日期1994-W52-7(即1994年最后一周的星期日实际上是1995年的第一天)。另一个例子是日历日期1996-12-31对应于周日期1997-W01-2(即1997年第一周的星期二实际上是1996年的最后一天)。
wYear
- 与周编号相关的年份
week
- 一年中的周数,从1到52或53
dayOfWeek
- 星期几,从1(星期一)到7(星期日)
IllegalArgumentException
- 如果给定不一致的参数(参数超出范围,在52周年中的第53周等)
public static DateComponents parseDate(String string)
支持的格式包括:
如上述列表所示,仅支持ISO-8601标准第4.1节中定义的完整表示,不支持扩展表示或精度降低的表示。
不支持将单个整数解析为儒略日,因为这可能与基本格式日历日期或基本格式序数日期中的一个存在歧义,具体取决于数字位数。
string
- 要解析的字符串
IllegalArgumentException
- 如果无法解析字符串
public int getYear()
public int getMonth()
public Month getMonthEnum()
public int getDay()
public int getJ2000Day()
public int getMJD()
public int getCalendarWeek()
日历周数是1到52或53之间的数字,取决于年份。 ISO将第1周定义为包括一年中第一个星期四的周。因此,第1周可能从前一年开始,第52周或第53周可能在下一年结束。例如,日历日期1995-01-01对应于周日期1994-W52-7(即1994年最后一周的星期日实际上是1995年的第一天)。另一个例子是日历日期1996-12-31,对应于周日期1997-W01-2(即1997年第一周的星期二实际上是1996年的最后一天)。
public int getDayOfWeek()
星期几是1(星期一)到7(星期日)之间的数字。
public int getDayOfYear()
一年中的日期数字介于1月1日和365或366之间,具体取决于年份。
public int compareTo(DateComponents other)
compareTo
在接口 Comparable<DateComponents>
中
Copyright © 2002-2023 CS GROUP. All rights reserved.