Package org.miaixz.bus.core.center.date
Class Calendar
java.lang.Object
org.miaixz.bus.core.center.date.Formatter
org.miaixz.bus.core.center.date.Converter
org.miaixz.bus.core.center.date.Resolver
org.miaixz.bus.core.center.date.Calculate
org.miaixz.bus.core.center.date.Calendar
-
Field Summary
Fields inherited from class org.miaixz.bus.core.center.date.Formatter
CN_DATE_FORMAT, CN_DATE_FORMATTER, CN_DATE_TIME_FORMAT, CN_DATE_TIME_FORMATTER, CN_MONTH_FORMAT, CN_MONTH_FORMATTER, HTTP_DATETIME_FORMAT, HTTP_DATETIME_FORMAT_GMT, ISO8601_FORMAT, ISO8601_MS_FORMAT, ISO8601_MS_WITH_XXX_OFFSET_FORMAT, ISO8601_MS_WITH_ZONE_OFFSET_FORMAT, ISO8601_WITH_XXX_OFFSET_FORMAT, ISO8601_WITH_ZONE_OFFSET_FORMAT, JDK_DATETIME_FORMAT, MAX_HMS, NORM_DATE_FORMAT, NORM_DATE_FORMATTER, NORM_DATETIME_COMMA_MS_FORMAT, NORM_DATETIME_COMMA_MS_FORMATTER, NORM_DATETIME_FORMAT, NORM_DATETIME_FORMATTER, NORM_DATETIME_MINUTE_FORMAT, NORM_DATETIME_MINUTE_FORMATTER, NORM_DATETIME_MS_FORMAT, NORM_DATETIME_MS_FORMATTER, NORM_HOUR_MINUTE_FORMAT, NORM_HOUR_MINUTE_FORMATTER, NORM_MONTH_FORMAT, NORM_MONTH_FORMATTER, NORM_TIME_FORMAT, NORM_TIME_FORMATTER, PPURE_HOUR_MINUTE_FORMAT, PURE_DATE_FORMAT, PURE_DATE_FORMATTER, PURE_DATETIME_FORMAT, PURE_DATETIME_FORMATTER, PURE_DATETIME_MS_FORMAT, PURE_DATETIME_MS_FORMATTER, PURE_DATETIME_TIP_FORMAT, PURE_HOUR_MINUTE_FORMATTER, PURE_TIME_FORMAT, PURE_TIME_FORMATTER, SIMPLE_MONTH_FORMAT, SIMPLE_MONTH_FORMATTER, UTC_FORMAT, UTC_MS_FORMAT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static intage(long birthday, long dateToCompare) 计算相对于dateToCompare的年龄(周岁),常用于计算指定生日在某年的年龄 按照《最高人民法院关于审理未成年人刑事案件具体应用法律若干问题的解释》第二条规定刑法第十七条规定的“周岁”,按照公历的年、月、日计算,从周岁生日的第二天起算。static int计算年龄static intage(LocalDateTime birthDay) 计算年龄static int计算相对于dateToCompare的年龄,常用于计算指定生日在某年的年龄 按照《最高人民法院关于审理未成年人刑事案件具体应用法律若干问题的解释》第二条规定刑法第十七条规定的“周岁”,按照公历的年、月、日计算,从周岁生日的第二天起算。static CalendarbeginOfDay(Calendar calendar) 修改某天的开始时间static CalendarbeginOfHour(Calendar calendar) 修改某小时的开始时间static CalendarbeginOfMinute(Calendar calendar) 修改某分钟的开始时间static CalendarbeginOfMonth(Calendar calendar) 修改某月的开始时间static CalendarbeginOfQuarter(Calendar calendar) 修改某季度的开始时间static CalendarbeginOfSecond(Calendar calendar) 修改秒级别的开始时间,即忽略毫秒部分static CalendarbeginOfWeek(Calendar calendar) 修改给定日期当前周的开始时间,周一定为一周的开始时间static CalendarbeginOfWeek(Calendar calendar, boolean isMondayAsFirstDay) 修改给定日期当前周的开始时间static CalendarbeginOfYear(Calendar calendar) 修改某年的开始时间static Calendarcalendar()创建Calendar对象,时间为默认时区的当前时间static Calendarcalendar(long millis) 转换为Calendar对象,使用当前默认时区static Calendar转换为Calendar对象static Calendar转换为指定时区的Calendar,返回新的Calendarstatic Calendar转换为Calendar对象static Calendarcalendar(XMLGregorianCalendar calendar) 转换为Calendar对象static Calendar修改日期为某个时间字段结束时间 可选是否归零毫秒。static intstatic Calendar修改某天的结束时间static Calendar修改某小时的结束时间static CalendarendOfMinute(Calendar calendar, boolean truncate) 修改某分钟的结束时间static CalendarendOfMonth(Calendar calendar, boolean truncate) 修改某月的结束时间static CalendarendOfQuarter(Calendar calendar, boolean truncate) 获取某季度的结束时间static CalendarendOfSecond(Calendar calendar, boolean truncate) 修改秒级别的结束时间,即毫秒设置为999static Calendar修改某周的结束时间static Calendar修改某年的结束时间static StringformatChineseDate(Calendar calendar, boolean withTime) 将指定Calendar时间格式化为纯中文形式,比如:static intgetBeginValue(Calendar calendar, int dateField) 获取指定日期字段的最小值,例如分钟的最小值是0static intgetBeginValue(Calendar calendar, Various various) 获取指定日期字段的最小值,例如分钟的最小值是0static intgetEndValue(Calendar calendar, int dateField) 获取指定日期字段的最大值,例如分钟的最大值是59static intgetEndValue(Calendar calendar, Various various) 获取指定日期字段的最大值,例如分钟的最大值是59static int获得日期的某个部分 例如获得年的部分,则使用 getField(DatePart.YEAR)static boolean是否为上午static booleanisFirstDayOfMonth(Calendar calendar) 是否为本月第一天static booleanisLastDayOfMonth(Calendar calendar) 是否为本月最后一天static boolean是否为下午static boolean比较两个日期是否为同一天static booleanisSameInstant(Calendar date1, Calendar date2) 检查两个Calendar时间戳是否相同 此方法检查两个Calendar的毫秒数时间戳是否相同static booleanisSameMonth(Calendar cal1, Calendar cal2) 比较两个日期是否为同一月 同一个月的意思是:ERA(公元)、year(年)、month(月)都一致。static booleanisSameWeek(Calendar cal1, Calendar cal2, boolean isMon) 比较两个日期是否为同一周 同一个周的意思是:ERA(公元)、year(年)、month(月)、week(周)都一致。static booleanisSameYear(Calendar cal1, Calendar cal2) 比较两个日期是否为同一年 同一个年的意思是:ERA(公元)、year(年)都一致。static Calendarparse(CharSequence text, boolean lenient, PositionDateParser parser) 使用指定DateParser解析字符串为Calendarstatic CalendarparseByPatterns(CharSequence text, String... parsePatterns) 通过给定的日期格式解析日期时间字符串。static CalendarparseByPatterns(CharSequence text, Locale locale, boolean lenient, String... parsePatterns) 通过给定的日期格式解析日期时间字符串。static CalendarparseByPatterns(CharSequence text, Locale locale, String... parsePatterns) 通过给定的日期格式解析日期时间字符串。static Calendar修改日期为某个时间字段四舍五入时间static InstantCalendarInstant对象static LocalDateTimetoLocalDateTime(Calendar calendar) Calendar转换为LocalDateTime,使用系统默认时区static Calendar修改日期为某个时间字段起始时间static StringyearAndQuarter(Calendar cal) 获得指定日期年份和季度 格式:[20131]表示2013年第一季度Methods inherited from class org.miaixz.bus.core.center.date.Calculate
beginOfDay, beginOfDay, beginOfMonth, beginOfMonth, beginOfYear, beginOfYear, dayOfWeek, endOfDay, endOfDay, endOfMonth, endOfMonth, endOfYear, endOfYear, isIn, isIn, isLeapYear, isOverlap, isSameDay, isSameDay, isWeekend, isWeekend, max, offset, offset, offset, weekOfYearMethods inherited from class org.miaixz.bus.core.center.date.Resolver
normalize, parse, parse, parse, parse, parse, parse, parse, parse, parseDate, parseDate, parseDateByISO, parseTime, parseTime, parseTimeByISOMethods inherited from class org.miaixz.bus.core.center.date.Converter
date, date, get, of, of, of, of, of, of, ofDate, ofPattern, ofUTC, ofUTC, ofZoned, toChronoUnit, toEpochMilli, toInstant, toTimeUnit
-
Constructor Details
-
Calendar
public Calendar()
-
-
Method Details
-
isAM
-
isPM
-
isSameDay
-
isSameWeek
-
isSameMonth
-
isSameYear
-
isSameInstant
-
isFirstDayOfMonth
-
isLastDayOfMonth
-
calendar
-
calendar
-
calendar
转换为Calendar对象- Parameters:
calendar- 日期对象- Returns:
Calendar
-
calendar
-
calendar
-
calendar
-
truncate
-
round
-
ceiling
-
beginOfSecond
-
endOfSecond
-
beginOfHour
-
endOfHour
-
beginOfMinute
-
endOfMinute
-
beginOfDay
-
endOfDay
-
beginOfWeek
-
beginOfWeek
-
endOfWeek
-
beginOfMonth
-
endOfMonth
-
beginOfQuarter
-
endOfQuarter
-
beginOfYear
-
endOfYear
-
yearAndQuarter
-
getBeginValue
-
getBeginValue
-
getEndValue
-
getEndValue
-
getField
-
toInstant
-
toLocalDateTime
Calendar转换为LocalDateTime,使用系统默认时区- Parameters:
calendar-Calendar- Returns:
LocalDateTime
-
compare
-
formatChineseDate
-
parseByPatterns
public static Calendar parseByPatterns(CharSequence text, String... parsePatterns) throws DateException 通过给定的日期格式解析日期时间字符串。 传入的日期格式会逐个尝试,直到解析成功,返回Calendar对象,否则抛出DateException异常。 方法来自:Apache Commons-Lang3- Parameters:
text- 日期时间字符串,非空parsePatterns- 需要尝试的日期时间格式数组,非空, 见SimpleDateFormat- Returns:
- 解析后的Calendar
- Throws:
IllegalArgumentException- 如果日期字符串或模式数组为空DateException- 如果没有合适的日期模式
-
parseByPatterns
public static Calendar parseByPatterns(CharSequence text, Locale locale, String... parsePatterns) throws DateException 通过给定的日期格式解析日期时间字符串。 传入的日期格式会逐个尝试,直到解析成功,返回Calendar对象,否则抛出DateException异常。 方法来自:Apache Commons-Lang3- Parameters:
text- 日期时间字符串,非空locale- 地区,当为null时使用Locale.getDefault()parsePatterns- 需要尝试的日期时间格式数组,非空, 见SimpleDateFormat- Returns:
- 解析后的Calendar
- Throws:
IllegalArgumentException- 如果日期字符串或模式数组为空DateException- 如果没有合适的日期模式
-
parseByPatterns
public static Calendar parseByPatterns(CharSequence text, Locale locale, boolean lenient, String... parsePatterns) throws DateException 通过给定的日期格式解析日期时间字符串。 传入的日期格式会逐个尝试,直到解析成功,返回Calendar对象,否则抛出DateException异常。 方法来自:Apache Commons-Lang3- Parameters:
text- 日期时间字符串,非空locale- 地区,当为null时使用Locale.getDefault()lenient- 日期时间解析是否使用严格模式parsePatterns- 需要尝试的日期时间格式数组,非空, 见SimpleDateFormat- Returns:
- 解析后的Calendar
- Throws:
IllegalArgumentException- 如果日期字符串或模式数组为空DateException- 如果没有合适的日期模式- See Also:
-
parse
使用指定DateParser解析字符串为Calendar- Parameters:
text- 日期字符串lenient- 是否宽容模式parser-DateParser- Returns:
- 解析后的
Calendar,解析失败返回null
-
age
-
age
-
age
计算相对于dateToCompare的年龄,常用于计算指定生日在某年的年龄 按照《最高人民法院关于审理未成年人刑事案件具体应用法律若干问题的解释》第二条规定刑法第十七条规定的“周岁”,按照公历的年、月、日计算,从周岁生日的第二天起算。- 2022-03-01出生,则相对2023-03-01,周岁为0,相对于2023-03-02才是1岁。
- 1999-02-28出生,则相对2000-02-29,周岁为1
- Parameters:
birthday- 生日dateToCompare- 需要对比的日期- Returns:
- 年龄
-
age
protected static int age(long birthday, long dateToCompare) 计算相对于dateToCompare的年龄(周岁),常用于计算指定生日在某年的年龄 按照《最高人民法院关于审理未成年人刑事案件具体应用法律若干问题的解释》第二条规定刑法第十七条规定的“周岁”,按照公历的年、月、日计算,从周岁生日的第二天起算。- 2022-03-01出生,则相对2023-03-01,周岁为0,相对于2023-03-02才是1岁。
- 1999-02-28出生,则相对2000-02-29,周岁为1
- Parameters:
birthday- 生日dateToCompare- 需要对比的日期- Returns:
- 年龄
-