public class DateUtils extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
DateUtils.DateNode |
| 限定符和类型 | 字段和说明 |
|---|---|
private static Map<String,SimpleDateFormat> |
simpleDateFormatMap
时间格式化器集合
|
| 构造器和说明 |
|---|
DateUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static Date |
add(Date date,
int field,
int amount)
日期变更
|
static Date |
addDay(Date date,
int day)
指定日期加减天数
|
static Date |
addHour(Date date,
int hour)
指定日期加减小时
|
static Date |
addMillisecond(Date date,
int millisecond)
指定日期加减秒
|
static Date |
addMinute(Date date,
int minute)
指定日期加减分钟
|
static Date |
addMonth(Date date,
int month)
指定日期加减月份
|
static Date |
addSecond(Date date,
int second)
指定日期加减秒
|
static Date |
addWeek(Date date,
int week)
指定日期加减星期
|
static Date |
addYear(Date date,
int year)
指定日期加减年份
|
static int |
age(Date birthday,
Date dateToCompare)
计算相对于dateToCompare的年龄,常用于计算指定生日在某年的年龄
|
protected static int |
age(long birthday,
long dateToCompare)
计算相对于dateToCompare的年龄,常用于计算指定生日在某年的年龄
按照《最高人民法院关于审理未成年人刑事案件具体应用法律若干问题的解释》第二条规定刑法第十七条规定的“周岁”,按照公历的年、月、日计算,从周岁生日的第二天起算。 |
static int |
ageOfNow(Date birthDay)
生日转为年龄,计算法定年龄
|
static int |
ageOfNow(String birthDay,
String formatStyle)
生日转为年龄,计算法定年龄
|
static Integer |
compareDays(Date date1,
Date date2)
比较两个日期的大小 (毫秒级)
|
static String |
convertMillisecond2TimeStr(long millisecond) |
static String |
convertMinute2TimeStr(long minute) |
static String |
convertSecond2TimeStr(long second) |
static int |
countBetweenDays(Date date1,
Date date2)
获取两个日期相差的天数(以日期为单位计算,不以24小时制计算,详见下面说明)
【说明】比如 2022-06-17 23:00:00 和 2022-06-17 01:00:00,两者虽然只相差 2 个小时,但也算相差 1 天 |
static String |
format(Date date,
String formatStyle)
将 Date 格式时间转化为指定格式时间
|
static String |
formatDate(Date date)
将 Date 格式时间转化为 yyyy-MM-dd 格式时间
|
static String |
formatDateTimeMillisecond(Date date)
将 Date 格式时间转化为 yyyy-MM-dd HH:mm:ss:SSS 格式时间
|
static String |
formatDateTimeSecond(Date date)
将 Date 格式时间转化为 yyyy-MM-dd HH:mm:ss 格式时间
|
static List<Date> |
getBetweenDateList(Date date1,
Date date2)
获取两个日期之间的所有日期
|
static List<Date> |
getBetweenDateList(Date date1,
Date date2,
boolean isContainParams)
获取两个日期之间的所有日期
|
static List<String> |
getBetweenDateList(String dateString1,
String dateString2)
获取两个日期之间的所有日期
|
static List<String> |
getBetweenDateList(String dateString1,
String dateString2,
boolean isContainParams)
获取两个日期之间的所有日期
|
static Date |
getDateEnd(Date date)
获取一天的截止时间(即:23 点 59 分 59 秒 999 毫秒)
|
static int |
getDateNo(Date date)
获取日期数字
|
static DateUtils.DateNode |
getDateNode(Date date)
获取时间节点对象
|
static Date |
getDateStart(Date date)
获取一天的开始时间(即:0 点 0 分 0 秒 0 毫秒)
|
static List<String> |
getDateStrList(List<Date> dates)
List
|
static long |
getDateTimeMillisecond(Date date)
获取日期时间数字(到毫秒)
|
static long |
getDateTimeSecond(Date date)
获取日期时间数字(到秒)
|
static Date |
getMonthDateEnd(Date date)
获取本日期所在月最后一天
|
static List<Date> |
getMonthDateList(Date date)
获取该日期所在月的所有日期
|
static List<String> |
getMonthDateList(String dateString)
获取该日期所在月的所有日期
|
static Date |
getMonthDateStart(Date date)
获取本日期所在月第一天
|
static long |
getTimestampMillisecond(Date date)
获取时间戳
|
static long |
getTimestampSecond(Date date)
获取时间戳
|
static Date |
getWeekDate(Date date,
WeekDay weekDay)
获取该日期所在周指定星期的日期
|
static Date |
getWeekDateEnd(Date date)
获取该日期所在周开始日期
|
static List<Date> |
getWeekDateList(Date date)
获取该日期所在周的所有日期(周一到周日)
|
static List<String> |
getWeekDateList(String dateString)
获取该日期所在周的所有日期(周一到周日)
|
static Date |
getWeekDateStart(Date date)
获取该日期所在周开始日期
|
static int |
getWeekOfYear(Date date)
获取该日期是今年的第几周(以本年的周一为第1周,详见下面说明)
【说明】 比如 2022-01-01(周六)和 2022-01-02(周日)虽然在 2022 年里,但他们两天则属于 2021 年最后一周, 那么这两天不会算在 2022 年第 1 周里,此时会返回 0 ;而 2022 年第 1 周将从 2022-01-03(周一) 开始计算。 |
static int |
getWeekOfYearIgnoreLastYear(Date date)
获取今年的第几周(以本年的1月1日为第1周第1天)
|
private static SimpleDateFormat |
p_getSimpleDateFormat(String formatStyle)
获取指定时间格式化器
|
private static String |
p_getString(String s)
获取字符串有效内容
|
private static int |
p_getWeek(Calendar calendar)
获取星期几
|
private static int |
p_getWeek(Date date)
获取星期几
|
static Date |
parse(String dateString,
String formatStyle)
将字符串格式时间转化为 Date 格式时间
|
static Date |
parseDate(String dateString)
将 yyyy-MM-dd 格式时间转化为 Date 格式时间
|
static Date |
parseDateTimeMillisecond(String dateTimeStr)
将 yyyy-MM-dd HH:mm:ss:SSS 格式时间转化为 Date 格式时间
|
static Date |
parseDateTimeSecond(String dateTimeStr)
将 yyyy-MM-dd HH:mm:ss 格式时间转化为 Date 格式时间
|
private static final Map<String,SimpleDateFormat> simpleDateFormatMap
private static SimpleDateFormat p_getSimpleDateFormat(String formatStyle)
formatStyle - 时间格式public static String format(Date date, String formatStyle)
date - Date 格式时间formatStyle - 转化指定格式(如: yyyy-MM-dd HH:mm:ss)public static String formatDate(Date date)
date - Date 格式时间public static String formatDateTimeSecond(Date date)
date - Date 格式时间public static String formatDateTimeMillisecond(Date date)
date - Date 格式时间public static Date parseDate(String dateString)
dateString - yyyy-MM-dd 格式时间(如:2022-06-17)public static Date parseDateTimeSecond(String dateTimeStr)
dateTimeStr - yyyy-MM-dd HH:mm:ss 格式时间(如:2022-06-17 16:06:17)public static Date parseDateTimeMillisecond(String dateTimeStr)
dateTimeStr - yyyy-MM-dd HH:mm:ss:SSS 格式时间(如:2022-06-17 16:06:17)public static Date parse(String dateString, String formatStyle)
dateString - 字符串时间(如:2022-06-17 16:06:17)public static Date getDateStart(Date date)
date - 指定时间public static Date getDateEnd(Date date)
date - 指定时间public static int getDateNo(Date date)
date - 日期public static long getDateTimeSecond(Date date)
date - 日期public static long getDateTimeMillisecond(Date date)
date - 日期public static long getTimestampSecond(Date date)
date - 日期public static long getTimestampMillisecond(Date date)
date - 日期private static int p_getWeek(Date date)
date - 时间private static int p_getWeek(Calendar calendar)
public static int getWeekOfYear(Date date)
【说明】
比如 2022-01-01(周六)和 2022-01-02(周日)虽然在 2022 年里,但他们两天则属于 2021 年最后一周,
那么这两天不会算在 2022 年第 1 周里,此时会返回 0 ;而 2022 年第 1 周将从 2022-01-03(周一) 开始计算。
date - 时间public static int getWeekOfYearIgnoreLastYear(Date date)
date - 时间public static DateUtils.DateNode getDateNode(Date date)
date - 时间对象public static Date add(Date date, int field, int amount)
date - 指定日期field - 变更属性(如变更年份,则该值为 Calendar.DAY_OF_YEAR)amount - 变更大小(大于 0 时增加,小于 0 时减少)public static Date addYear(Date date, int year)
date - 指定日期year - 变更年份(大于 0 时增加,小于 0 时减少)public static Date addMonth(Date date, int month)
date - 指定日期month - 变更月份(大于 0 时增加,小于 0 时减少)public static Date addDay(Date date, int day)
date - 指定日期day - 变更天数(大于 0 时增加,小于 0 时减少)public static Date addWeek(Date date, int week)
date - 指定日期week - 变更星期数(大于 0 时增加,小于 0 时减少)public static Date addHour(Date date, int hour)
date - 指定日期时间hour - 变更小时数(大于 0 时增加,小于 0 时减少)public static Date addMinute(Date date, int minute)
date - 指定日期时间minute - 变更分钟数(大于 0 时增加,小于 0 时减少)public static Date addSecond(Date date, int second)
date - 指定日期时间second - 变更秒数(大于 0 时增加,小于 0 时减少)public static Date addMillisecond(Date date, int millisecond)
date - 指定日期时间millisecond - 变更毫秒数(大于 0 时增加,小于 0 时减少)public static Date getWeekDate(Date date, WeekDay weekDay)
date - 日期所在时间public static Date getWeekDateStart(Date date)
date - 日期所在时间public static Date getWeekDateEnd(Date date)
date - 日期所在时间public static List<Date> getWeekDateList(Date date)
date - 日期public static List<String> getWeekDateList(String dateString)
dateString - public static List<Date> getMonthDateList(Date date)
date - public static List<String> getMonthDateList(String dateString)
dateString - public static Date getMonthDateStart(Date date)
date - 日期public static Date getMonthDateEnd(Date date)
date - 日期public static Integer compareDays(Date date1, Date date2)
date1 - 日期1date2 - 日期2public static int countBetweenDays(Date date1, Date date2)
【说明】比如 2022-06-17 23:00:00 和 2022-06-17 01:00:00,两者虽然只相差 2 个小时,但也算相差 1 天
date1 - 日期1date2 - 日期2public static List<Date> getBetweenDateList(Date date1, Date date2)
date1 - 日期1date2 - 日期2public static List<Date> getBetweenDateList(Date date1, Date date2, boolean isContainParams)
date1 - 日期1date2 - 日期2public static List<String> getBetweenDateList(String dateString1, String dateString2)
dateString1 - 日期1(如:2022-06-20)dateString2 - 日期2(如:2022-07-15)public static List<String> getBetweenDateList(String dateString1, String dateString2, boolean isContainParams)
dateString1 - 日期1(如:2022-06-20)dateString2 - 日期2(如:2022-07-15)isContainParams - 是否包含参数的两个日期public static int ageOfNow(String birthDay, String formatStyle)
birthDay - 生日,标准日期字符串public static int ageOfNow(Date birthDay)
birthDay - 生日public static int age(Date birthday, Date dateToCompare)
birthday - 生日dateToCompare - 需要对比的日期protected static int age(long birthday,
long dateToCompare)
birthday - 生日dateToCompare - 需要对比的日期public static List<String> getDateStrList(List<Date> dates)
dates - 日期集合public static String convertMillisecond2TimeStr(long millisecond)
public static String convertSecond2TimeStr(long second)
public static String convertMinute2TimeStr(long minute)
Copyright © 2024. All rights reserved.