public class DateTimeComponents extends Object implements Serializable, Comparable<DateTimeComponents>
这个类是一个简单的持有者,没有处理方法。
此类的实例保证是不可变的。
AbsoluteDate
, DateComponents
, TimeComponents
, Serialized Form
Modifier and Type | Field and Description |
---|---|
static DateTimeComponents |
JULIAN_EPOCH
朱利安纪元。
|
Constructor and Description |
---|
DateTimeComponents(DateComponents date, TimeComponents time)
从其组件构建一个新实例。
|
DateTimeComponents(DateTimeComponents reference, double offset)
根据与另一个实例的秒偏移量构建一个实例。
|
DateTimeComponents(int year, int month, int day)
从原始级别组件构建一个实例。
|
DateTimeComponents(int year, int month, int day, int hour, int minute, double second)
从原始级别组件构建一个实例。
|
DateTimeComponents(int year, Month month, int day)
从原始级别组件构建一个实例。
|
DateTimeComponents(int year, Month month, int day, int hour, int minute, double second)
从原始级别组件构建一个实例。
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(DateTimeComponents other) |
boolean |
equals(Object other) |
DateComponents |
getDate()
获取日期组件。
|
TimeComponents |
getTime()
获取时间组件。
|
int |
hashCode() |
double |
offsetFrom(DateTimeComponents dateTime)
计算两个实例之间的秒偏移量。
|
static DateTimeComponents |
parseDateTime(String string)
解析ISO-8601格式的字符串以构建日期/时间。
|
DateTimeComponents |
roundIfNeeded(int minuteDuration, int fractionDigits)
如果需要,将此日期时间四舍五入到给定精度,以防止四舍五入到无效的秒数。
|
String |
toString()
返回此对的字符串表示。
|
String |
toString(int minuteDuration)
返回四舍五入到毫秒精度的此日期时间的字符串表示。
|
String |
toString(int minuteDuration, int fractionDigits)
返回四舍五入到给定精度的此日期时间的字符串表示。
|
String |
toStringRfc3339()
根据RFC 3339中的格式将给定的日期和时间表示为字符串。
|
String |
toStringWithoutUtcOffset()
获取不带UTC偏移量的日期时间的字符串表示。
|
String |
toStringWithoutUtcOffset(int minuteDuration, int fractionDigits)
返回四舍五入到给定精度的此日期时间的字符串表示。
|
public static final DateTimeComponents JULIAN_EPOCH
public DateTimeComponents(DateComponents date, TimeComponents time)
date
- 日期组件
time
- 时间组件
public DateTimeComponents(int year, int month, int day, int hour, int minute, double second) throws IllegalArgumentException
year
- 年份(BC年份可能为0或负数)
month
- 月份从1到12
day
- 日期从1到31
hour
- 小时从0到23
minute
- 分钟从0到59
second
- 秒从0.0到60.0(不包括)
IllegalArgumentException
- 如果给定的参数不一致(参数超出范围,非闰年的2月29日,1582年格里历闰年期间的日期等)
public DateTimeComponents(int year, Month month, int day, int hour, int minute, double second) throws IllegalArgumentException
year
- 年份(BC年份可能为0或负数)
month
- 月份枚举
day
- 日期从1到31
hour
- 小时从0到23
minute
- 分钟从0到59
second
- 秒从0.0到60.0(不包括)
IllegalArgumentException
- 如果给定的参数不一致(参数超出范围,非闰年的2月29日,1582年格里历闰年期间的日期等)
public DateTimeComponents(int year, int month, int day) throws IllegalArgumentException
小时设置为00:00:00.000。
year
- 年份(BC年份可能为0或负数)
month
- 月份从1到12
day
- 日期从1到31
IllegalArgumentException
- 如果给定的参数不一致(参数超出范围,非闰年的2月29日,1582年格里历闰年期间的日期等)
public DateTimeComponents(int year, Month month, int day) throws IllegalArgumentException
小时设置为00:00:00.000。
year
- 年份(BC年份可能为0或负数)
month
- 月份枚举
day
- 日期从1到31
IllegalArgumentException
- 如果给定的参数不一致(参数超出范围,非闰年的2月29日,1582年格里历闰年期间的日期等)
public DateTimeComponents(DateTimeComponents reference, double offset)
reference
- 参考日期/时间
offset
- 与参考日期的偏移量(以秒为单位)
offsetFrom(DateTimeComponents)
public static DateTimeComponents parseDateTime(String string)
支持的格式是所有由DateComponents.parseDate(String)
支持的日期格式和所有由TimeComponents.parseTime(String)
支持的时间格式,由标准时间分隔符'T'分隔,或仅包含日期组件(在这种情况下,假定为00:00:00小时)。典型示例是2000-01-01T12:00:00Z或1976W186T210000。
string
- 要解析的字符串
IllegalArgumentException
- 如果无法解析字符串
public double offsetFrom(DateTimeComponents dateTime)
dateTime
- 要从实例中减去的日期时间
DateTimeComponents(DateTimeComponents, double)
public DateComponents getDate()
public TimeComponents getTime()
public int compareTo(DateTimeComponents other)
compareTo
在接口 Comparable<DateTimeComponents>
public String toString()
使用的格式是ISO8601,包括UTC偏移量。
public String toStringWithoutUtcOffset()
toStringWithoutUtcOffset(int, int)
, toString(int, int)
, toStringRfc3339()
public String toString(int minuteDuration)
使用的格式是ISO8601,包括UTC偏移量。
minuteDuration
- 取决于日期接近闰秒引入的时间和闰秒的大小,可以是60、61或62秒。
toString(int, int)
public String toString(int minuteDuration, int fractionDigits)
使用的格式是ISO8601,包括UTC偏移。
minuteDuration
- 取决于日期接近闰秒引入的时间和闰秒的大小,可以是59、60、61或62秒。
fractionDigits
- 要在秒的字符串表示形式中包括小数点后的位数。首先根据需要四舍五入日期和时间。fractionDigits
必须大于或等于0
。
toStringRfc3339()
, toStringWithoutUtcOffset()
, toStringWithoutUtcOffset(int, int)
public String toStringWithoutUtcOffset(int minuteDuration, int fractionDigits)
使用的格式是ISO8601,不包括UTC偏移。
minuteDuration
- 取决于日期接近闰秒引入的时间和闰秒的大小,可以是59、60、61或62秒。
fractionDigits
- 要在秒的字符串表示形式中包括小数点后的位数。首先根据需要四舍五入日期和时间。fractionDigits
必须大于或等于0
。
toStringRfc3339()
, toStringWithoutUtcOffset()
, toString(int, int)
public DateTimeComponents roundIfNeeded(int minuteDuration, int fractionDigits)
59.999
时。相反,此方法将根据需要四舍五入分钟、小时、天、月和年。
minuteDuration
- 取决于日期接近闰秒引入的时间和闰秒的大小,可以是59、60、61或62秒。
fractionDigits
- 要在秒数的小数点后打印的十进制数字位数。如果需要,将此日期时间四舍五入到fractionDigits
后的小数点,以防止四舍五入到minuteDuration
。 fractionDigits
必须大于或等于0
。
0.5 * 10**-fractionDigits
秒,并且秒数不会在四舍五入到小数点后fractionDigits
时四舍五入到minuteDuration
。
public String toStringRfc3339()
RFC3339无法表示公元前年份、10000年或更多年份、时区偏移量超过100小时或NaN。在这些情况下,此方法返回的值将不是有效的RFC3339格式。
AbsoluteDate.toStringRfc3339(TimeScale)
, toString(int, int)
, toStringWithoutUtcOffset()
Copyright © 2002-2023 CS GROUP. All rights reserved.