public class Time extends Object implements Comparable<Time>, Cloneable
文件名:Time.java
用途:提供对时间进行转换相关的工具
编码时间:2019年12月2日下午5:15:55
修改时间:2023年5月6日 上午11:15:40
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_FORMAT_PATTERN
默认格式化日期的规则
|
static ZoneId |
defaultZoneId
定义默认时区
|
Modifier and Type | Method and Description |
---|---|
Time |
addTime(double num,
TimeUnit timeUnit)
用于根据条件计算日期/时间,方法允许传入小数与负数进行计算
|
Time |
addTime(String calculateTimeText)
用于根据传入的增减时间的规则对时间进行增减。
|
Time |
clone() |
int |
compareTo(Time compateTime) |
boolean |
equals(Object obj) |
boolean |
equalsForUnit(Time compareTime,
TimeUnit timeUnit)
用于根据最小比较单位,对时间进行比较
|
Date |
getDate()
用于返回Date类对象
|
String |
getFormatTime()
用于以指定的格式返回格式化后的时间
|
String |
getFormatTime(String pattern)
该方法用于以临时指定的格式输出当前设置的日期时间,通过该方法设置的格式化时间不会影响通过
setTimeFormat(String) 方法设置的时间格式,
具体的设置方法可参考setTimeFormat(String) |
LocalDateTime |
getLocalDateTime()
用于以
LocalDateTime 类对象的形式,返回计算后的日期/时间 |
long |
getMilliSecond()
用于返回设置的时间的时间戳
|
int |
hashCode() |
static Time |
parse()
用于将时间初始化为当前时间
|
static Time |
parse(Date date)
用于根据
Date 类对象初始化时间 |
static Time |
parse(LocalDateTime dateTime)
用于根据
LocalDateTime 对象初始化日期/时间,若未传入时间或时间写入有误,则初始化为当前时间 |
static Time |
parse(long ms)
用于根据毫秒数初始化时间
|
static Time |
parse(String formatTime)
用于根据已格式化的时间初始化时间
|
static Time |
parse(String formatTime,
String formatText)
用于根据格式化的日期/时间,及相应的时间格式,初始化日期/时间
|
Time |
setTime(int timeNum,
TimeUnit timeUnit)
用于对日期/时间中的指定单位进行赋值
|
Time |
setTimeFormat(String pattern)
设置返回时间的格式,该方法可传入时间格式,亦可向该方法中传入时间格式的模板,
通过识别模板得到日期的格式,但作为模板的日期也必须满足时间格式。例如:
|
String |
toString() |
public static ZoneId defaultZoneId
public static final String DEFAULT_FORMAT_PATTERN
public static Time parse(Date date)
Date
类对象初始化时间date
- Date类对象public static Time parse(long ms)
ms
- 时间戳(毫秒值)public static Time parse(String formatTime)
formatTime
- 已格式化的时间IncorrectConditionException
- 时间转换错误时抛出的异常public static Time parse(String formatTime, String formatText)
该方法允许只传入格式化的日期或者时间,如:
Time time1 = Time.parse("2020-12-12", "yyyy-MM-dd");//初始化为2020年12月12日的0点
Time time2 = Time.parse("15:15:15", "HH:mm:ss");//初始化为当天的15时15分15秒
formatTime
- 格式化的日期/时间formatText
- 时间格式DateTimeParseException
- 日期/时间无法转换时抛出的异常public static Time parse(LocalDateTime dateTime)
LocalDateTime
对象初始化日期/时间,若未传入时间或时间写入有误,则初始化为当前时间dateTime
- 指定的LocalDateTime
对象public static Time parse()
public Time setTime(int timeNum, TimeUnit timeUnit)
timeNum
- 指定的数值timeUnit
- 时间单位枚举TimeUnit
IncorrectConditionException
- 数值无法被赋入相应的单位下时抛出的异常public Time setTimeFormat(String pattern)
Time time = new Time(1575387800000L);
time.setTimeFormat("yyyy年MM月dd日 HH:mm:ss");
getFormatTime();//输出:2019年12月03日 23:43:20
time.setTimeFormat("2019/12/04 03:03:20");
getFormatTime();//输出:2019/12/03 23:43:20
注意
pattern
- 指定的格式或已格式化的时间public Date getDate()
public long getMilliSecond()
public String getFormatTime()
若未设置时间格式,则默认按照“yyyy-MM-dd HH:mm:ss”的格式进行返回
public String getFormatTime(String pattern)
setTimeFormat(String)
方法设置的时间格式,
具体的设置方法可参考setTimeFormat(String)
pattern
- 格式化规则public LocalDateTime getLocalDateTime()
LocalDateTime
类对象的形式,返回计算后的日期/时间LocalDateTime
类对象public Time addTime(double num, TimeUnit timeUnit)
注意:在计算年、月时,若传入的数值是小数,在转换毫秒值时,其会按照
num
- 日期/时间增减的数量timeUnit
- 日期计算的单位public Time addTime(String calculateTimeText)
根据单位前的数值对指定的单位进行增减。例如:需要对当前设置的时间增加1年3个月又5天并较少2小时30分钟45秒, 此时可以传入“1年3月5日-2时-30分-45秒”,亦可以传入“1y3m5d-2h-30min-45s”。
addTime(double, TimeUnit)
方法一致
注意:数字前不写运算符,则默认为增加时间,例如“-1d2s”意义为减少一天并增加两秒
calculateTimeText
- 增减时间的规则public int compareTo(Time compateTime)
compareTo
in interface Comparable<Time>
public boolean equalsForUnit(Time compareTime, TimeUnit timeUnit)
通过指定最小比较单位,从而返回该单位及以上单位的对比结果,例如:
Time t1 = Time.parse("2020-12-10 17:22:12");
Time t2 = Time.parse("2020-12-10 20:27:12");
t1.equalsForUnit(t2, TimeUnit.SECOND)
时,则返回结果为falset1.equalsForUnit(t2, TimeUnit.DAY)
时,则返回结果为true
注意:除TimeUnit.YEAR
、TimeUnit.MONTH
、TimeUnit.DAY
、
TimeUnit.HOUR
、TimeUnit.MINUTE
、TimeUnit.SECOND
单位外,其他的
单位传入进行判断时,会抛出异常
compareTime
- 需要比对的时间timeUnit
- 最小判断单位IncorrectConditionException
- 单位传入有误时抛出的异常Copyright © 2024. All rights reserved.