Package cn.xuanyuanli.core.util
Class Dates
java.lang.Object
cn.xuanyuanli.core.util.Dates
日期工具类
- Author:
- John Li
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String[]默认模式private static final org.slf4j.Logger日志记录器private static final ZoneOffsetutc p8 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic longbeforNumDay(long time, int day) 获得指定日期前(后)x天的日期static longbeginOfDate(String datestr) 获取日期当天开始时间static longbetween(ChronoUnit unit, long time1, long time2) 计算两个时间戳之间的距离static long[]countDown(long destTime) 获得针对目标时间的倒计时static LocalDateTimedateToLocalDateTime(Date date) 当地日期时间static long[]endDown(long startTime, long endTime) 计算两个日期之间的差static long获取日期当天结束时间static long据今天结束还有多少秒static StringformatDate(Date date, String pattern) 格式化时间static StringformatDate(Date date, String pattern, TimeZone zone) 格式化时间static String以‘yyyy-MM-dd HH:mm:ss’格式化当前日期static String以指定的pattern格式化当前日期static StringformatTimeMillis(Long time, String pattern) 格式化时间static StringformatTimeMillisByDatePattern(long times) 按照{yyyy-MM-dd}格式化时间static StringformatTimeMillisByFullDatePattern(long times) 按照{yyyy-MM-dd HH:mm:ss}格式化时间static Date获取当前日期前一个月日期getCurrentMonthDateList(Date date) 获取当月日历天数static DategetDateFromMillis(Long time) 从秒值或毫秒值获得Date对象static longgetEpochSecond(LocalDate localDate) LocalDate转换为秒值(从1970年初开始计算)static longgetEpochSecond(LocalDateTime localDateTime) LocalDateTime转换为秒值(从1970年初开始计算)static int获取当前月份的最后一天static intgetLastDayOfMonth(Date date) 获取当前月份的最后一天private static long获得毫秒值getMonthDateList(Date date) 获取入参日期的当月日历(包含往前和往后的补充数据,从周日开始到周六结束的完整日历)static intgetWeekMark(Date date) 根据时间返回当前是星期几static StringhumanReadableDuration(Duration duration) 可读性好的时间量static StringhumanReadableMillis(long millis) 可读性好的毫秒值static StringhumanReadableSecord(long secord) 可读性好的秒值static booleanisFirstDayOfMonth(Long time) 查看当前时间是否是所在月第一天static boolean两个时间戳是否为同一天static long今天的结束时间static long今天开始的时间static longnow()获得当前时间的epoch秒值static Date根据DEFAULT_PATTERNS转换字符串为Datestatic Date根据pattern规则转换字符串为Datestatic Date根据pattern和时区转换字符串为Datestatic Long[]parseAceRangeDate(String dataRange) 解析ACE模板获取的起止日期static Long[]parseRangeDate(String dataRange, String pattern) 解析一个范围日期static longparseToTimeMillis(String source) 解析时间,米尔斯static longparseToTimeMillis(String source, String pattern) 解析时间,米尔斯private static boolean验证时间戳是否符合规则
-
Field Details
-
logger
private static final org.slf4j.Logger logger日志记录器 -
UTC_P8
utc p8 -
DEFAULT_PATTERNS
默认模式
-
-
Constructor Details
-
Dates
public Dates()
-
-
Method Details
-
formatDate
格式化时间- Parameters:
date- 待格式化的时间pattern- 格式化规则- Returns:
String
-
formatDate
格式化时间- Parameters:
date- 待格式化的时间pattern- 格式化规则zone- 时区- Returns:
String
-
getDateFromMillis
从秒值或毫秒值获得Date对象- Parameters:
time- epoch的秒值或毫秒值- Returns:
Date
-
validTime
验证时间戳是否符合规则- Parameters:
time- epoch的秒值或毫秒值- Returns:
- boolean
-
getMillis
获得毫秒值- Parameters:
time- epoch的秒值或毫秒值- Returns:
- long
-
formatTimeMillis
格式化时间- Parameters:
time- 待格式化的时间pattern- 格式化规则- Returns:
String
-
formatTimeMillisByDatePattern
按照{yyyy-MM-dd}格式化时间- Parameters:
times- epoch的秒值或毫秒值- Returns:
String
-
formatTimeMillisByFullDatePattern
按照{yyyy-MM-dd HH:mm:ss}格式化时间- Parameters:
times- epoch的秒值或毫秒值- Returns:
String
-
parse
根据pattern规则转换字符串为Date- Parameters:
source- 源pattern- 模式- Returns:
Date
-
parse
根据pattern和时区转换字符串为Date- Parameters:
source- 源pattern- 模式timeZone- 时区- Returns:
Date
-
parse
根据DEFAULT_PATTERNS转换字符串为Date- Parameters:
source- 源- Returns:
Date
-
parseToTimeMillis
解析时间,米尔斯- Parameters:
source- 源pattern- 模式- Returns:
- long
- See Also:
-
parseToTimeMillis
解析时间,米尔斯- Parameters:
source- 源- Returns:
- long
- See Also:
-
getWeekMark
根据时间返回当前是星期几- Parameters:
date- 日期- Returns:
- 0周日 1周一 2周二 3周三 4周四 5周五 6周六
-
now
public static long now()获得当前时间的epoch秒值- Returns:
- long
-
getBeforeByMonth
获取当前日期前一个月日期- Returns:
Date
-
beforNumDay
public static long beforNumDay(long time, int day) 获得指定日期前(后)x天的日期- Parameters:
time- 时间戳day- 天数(如果day数为负数,说明是此日期前的天数)- Returns:
- 时间戳(秒值)
-
getLastDayOfMonth
获取当前月份的最后一天- Parameters:
date- 日期- Returns:
- 返回日期的原始int值,从1到31
-
getLastDayOfMonth
public static int getLastDayOfMonth()获取当前月份的最后一天- Returns:
- 返回日期的原始int值,从1到31
-
countDown
public static long[] countDown(long destTime) 获得针对目标时间的倒计时- Parameters:
destTime- epoch格式的目标时间- Returns:
- 数组中四个元素,依次是:日、时、分、秒
-
endDown
public static long[] endDown(long startTime, long endTime) 计算两个日期之间的差- Parameters:
startTime- epoch格式的开始时间endTime- epoch格式的结束时间- Returns:
- 数组中四个元素,依次是:日、时、分、秒
-
endOfToday
public static long endOfToday()据今天结束还有多少秒- Returns:
- long
-
maximumTimeMillisOfToday
public static long maximumTimeMillisOfToday()今天的结束时间- Returns:
- 返回millis值
-
minimumTimeMillisOfToday
public static long minimumTimeMillisOfToday()今天开始的时间- Returns:
- 返回millis值
-
formatNow
以‘yyyy-MM-dd HH:mm:ss’格式化当前日期- Returns:
String
-
formatNow
以指定的pattern格式化当前日期- Parameters:
pattern- 模式- Returns:
String
-
endOfDate
获取日期当天结束时间- Parameters:
dateStr- yyyy-MM-dd格式的字符串- Returns:
- 时间戳(秒值)
-
beginOfDate
获取日期当天开始时间- Parameters:
datestr- yyyy-MM-dd格式的时间- Returns:
- 时间戳(秒值)
-
getMonthDateList
获取入参日期的当月日历(包含往前和往后的补充数据,从周日开始到周六结束的完整日历)- Parameters:
date- 日期- Returns:
- 日历数据会从周日开始到周六结束,集合中的日期都是一天的开始时间
-
getCurrentMonthDateList
获取当月日历天数- Parameters:
date- 日期- Returns:
- 集合中的日期都是一天的开始时间
-
isFirstDayOfMonth
查看当前时间是否是所在月第一天- Parameters:
time- 时间- Returns:
- boolean
-
parseRangeDate
解析一个范围日期- Parameters:
dataRange- 时间区间,以 - 作为分隔符pattern- 时间格式- Returns:
- 秒值数组
-
parseAceRangeDate
解析ACE模板获取的起止日期- Parameters:
dataRange- 起止时间(支持模板:MM/dd/yyyy-MM/dd/yyyy)- Returns:
Long
-
getEpochSecond
LocalDate转换为秒值(从1970年初开始计算)- Parameters:
localDate- 当地日期- Returns:
- long
-
getEpochSecond
LocalDateTime转换为秒值(从1970年初开始计算)- Parameters:
localDateTime- 当地日期时间- Returns:
- long
-
dateToLocalDateTime
当地日期时间- Parameters:
date- 日期- Returns:
LocalDateTime
-
isSameDay
两个时间戳是否为同一天- Parameters:
time1- time1time2- time2- Returns:
- boolean
-
humanReadableSecord
可读性好的秒值- Parameters:
secord- 西科- Returns:
String
-
humanReadableMillis
可读性好的毫秒值- Parameters:
millis- 米尔斯- Returns:
String
-
humanReadableDuration
可读性好的时间量- Parameters:
duration- 持续时间- Returns:
String
-
between
计算两个时间戳之间的距离- Parameters:
unit- 周期单位time1- 起点时间time2- 终点时间- Returns:
- long
-