public final class DateBuilder extends Object
Constructor and Description |
---|
DateBuilder()
构造
|
Modifier and Type | Method and Description |
---|---|
int |
getDay()
获取当前日期对象中的日部分。
|
int |
getHour()
获取当前日期对象中的小时数。
|
long |
getMillisecond()
获取时间戳(毫秒)。
|
int |
getMinute()
获取当前日期构建器中的分钟数。
|
int |
getMonth()
获取月份,从1开始。
|
int |
getNs()
获取纳秒数。
|
int |
getSecond()
获取当前日期时间对象中的秒数。
|
long |
getUnixsecond()
获取Unix时间戳(秒)。
|
int |
getWeek()
获取当前周数的方法
|
int |
getYear()
获取年份。
|
TimeZone |
getZone()
获取时区。
|
int |
getZoneOffset()
获取时区偏移量。
|
boolean |
isAm()
检查当前是否为上午。
|
boolean |
isPm()
检查当前是否为下午。
|
boolean |
isZoneOffsetSetted()
检查时区偏移量是否已设置。
|
static DateBuilder |
of()
创建并返回一个DateBuilder实例。
|
DateBuilder |
reset()
重置所有值为默认值
|
DateBuilder |
setAm(boolean am)
设置是否为上午的状态。
|
DateBuilder |
setDay(int day)
设置日期对象中的日部分。
|
DateBuilder |
setHour(int hour)
设置日期对象中的小时数。
|
DateBuilder |
setMillisecond(long millisecond)
设置时间戳(毫秒)。
|
DateBuilder |
setMinute(int minute)
设置日期构建器中的分钟数。
|
DateBuilder |
setMonth(int month)
设置月份,从1开始。
|
DateBuilder |
setNs(int ns)
设置纳秒数。
|
DateBuilder |
setPm(boolean pm)
设置是否为下午的状态。
|
DateBuilder |
setSecond(int second)
设置日期时间对象中的秒数。
|
DateBuilder |
setUnixsecond(long unixsecond)
设置Unix时间戳(秒)。
|
DateBuilder |
setWeek(int week)
设置日期构建器的周数,ISO8601规范,1代表Monday,2代表Tuesday,以此类推。
|
DateBuilder |
setYear(int year)
设置年份。
|
DateBuilder |
setZone(TimeZone zone)
设置时区。
|
DateBuilder |
setZoneOffset(int zoneOffset)
设置时区偏移量。
|
DateBuilder |
setZoneOffsetSetted(boolean zoneOffsetSetted)
设置时区偏移量是否已设置的状态。
|
Calendar |
toCalendar()
将当前对象的日期时间信息转换为
Calendar 实例。 |
DateTime |
toDate()
将当前时间对象转换为
DateTime 类型。 |
LocalDateTime |
toLocalDateTime()
将当前对象的日期时间信息转换为
LocalDateTime 。 |
OffsetDateTime |
toOffsetDateTime()
将当前对象转换为
OffsetDateTime 。 |
DateTime |
toZonedDateTime()
转换为带时区信息的
DateTime 此方法用于保留原始时间戳,并且不丢失时区信息 |
public static DateBuilder of()
public int getYear()
public DateBuilder setYear(int year)
year
- 要设置的年份。public int getMonth()
public DateBuilder setMonth(int month)
month
- 要设置的月份,从1开始。public int getWeek()
public DateBuilder setWeek(int week)
week
- 指定的周数,通常用于构建具体的日期对象,ISO8601规范,1代表Monday,2代表Tuesday,以此类推。public int getDay()
public DateBuilder setDay(int day)
day
- 指定要设置的日,必须为整数。public int getHour()
public DateBuilder setHour(int hour)
hour
- 要设置的小时数,必须为整数。public int getMinute()
public DateBuilder setMinute(int minute)
minute
- 要设置的分钟数,必须为整数。public int getSecond()
public DateBuilder setSecond(int second)
second
- 指定要设置的秒数。public int getNs()
public DateBuilder setNs(int ns)
ns
- 要设置的纳秒数。public long getUnixsecond()
public DateBuilder setUnixsecond(long unixsecond)
unixsecond
- 要设置的Unix时间戳(以秒为单位)。public long getMillisecond()
public DateBuilder setMillisecond(long millisecond)
millisecond
- 要设置的时间戳(以毫秒为单位)。public boolean isZoneOffsetSetted()
public DateBuilder setZoneOffsetSetted(boolean zoneOffsetSetted)
zoneOffsetSetted
- 指定时区偏移量是否已设置的状态。public int getZoneOffset()
public DateBuilder setZoneOffset(int zoneOffset)
zoneOffset
- 要设置的时区偏移量。public TimeZone getZone()
public DateBuilder setZone(TimeZone zone)
zone
- 要设置的时区。public boolean isAm()
public DateBuilder setAm(boolean am)
am
- 指定是否为上午的状态。public boolean isPm()
public DateBuilder setPm(boolean pm)
pm
- 指定是否为下午的状态。public DateBuilder reset()
public DateTime toDate()
DateTime
类型。此方法根据是否设置了时区偏移量使用不同的转换策略。
。public DateTime toZonedDateTime()
DateTime
DateTime
public Calendar toCalendar()
Calendar
实例。
如果`unixsecond`不为0,将根据unix时间戳(秒)和纳秒偏移量构造Calendar。
否则,根据提供的时区信息`zone`或`zoneOffset`来设置Calendar的时区。
最后,设置年、月、日、时、分、秒和毫秒信息。DateTimeException
- 如果时区偏移量无法转换为有效的时区ID,则抛出异常。public LocalDateTime toLocalDateTime()
LocalDateTime
。
此方法根据对象中的时间信息(年、月、日、时、分、秒、纳秒)和时区信息(如果存在),
创建并返回一个LocalDateTime实例。时区信息可以是Unix时间戳中的秒数(unixsecond),
也可以是显式设置的时区偏移量(zoneOffsetSetted),或者使用默认时区(zone != null)。public OffsetDateTime toOffsetDateTime()
OffsetDateTime
。
此方法根据 unixsecond、时区偏移量或时区来构建 OffsetDateTime。
如果 unixsecond 大于 0,将使用 unixsecond 和纳秒来创建 UTC 时间。
如果设置了时区偏移量,将使用该偏移量构造 OffsetDateTime
。
如果设置了时区,将使用该时区构造 OffsetDateTime
。
如果以上信息均未设置,则默认使用 UTC 时间戳 0 创建 OffsetDateTime。Copyright © 2025. All rights reserved.