JAVA——时间类
世界标准时间
-
格林尼治时间 简称GMT
-
目前世界标准时间已替换为:原子钟
中国标准时间:世界标准时间+8小时
时间单位换算
1秒=1000毫秒
1毫秒=1000微秒
1微秒=1000纳秒
如何创建对象?
Date date=new Date();
Date date =new Date(指定毫秒值);
如何修改时间对象的毫秒值?
setTime(毫秒值);
获取时间对象的毫秒值
getTime();
simpleDateFormat类
作用:
格式化:把时间变成我们喜欢的格式
解析:把字符串表示的时间变成Date对象
常用方法 | 说明 |
---|---|
public final String format(Date dete) | 格式化(日期对象—>字符串) |
public Date parse(String source) | 解析(字符串—>日期对象) |
Y——年
M——月
d——日
H——时
m——分
s——秒
例:2023-11-11 13:27:06 ---->yyyy-MM-dd HH:mm:ss
Calendar
代表系统当前时间的日历对象 可以单独修改,获取时间中的日历对象
细节:Calendar是一个抽象类,不能直接创建对象
public static Calendar getlnstance()获取当前时间的日历对象
方法名 | 说明 |
---|---|
public final Date getTime() | 获取日期对象 |
pubilc final setTime(Date date) | 给日历设置日期对象 |
public long getTimeInMillis() | 拿到时间毫秒值 |
public void setTimeInMillis(long millis) | 给日历设置时间毫秒值 |
public int get(int field) | 取日历中的某个字段信息 |
public void set(int field,int value) | 修改日历的某个字段信息 |
public void add(int field,int amount) | 为某个字段增加或减少指定的值(正数是增加,负数是减少) |
细节: 月份:范围0~11,如果获取出来是0,那实际上是1月
星期:在老外眼里,星期日是一周的第一天。1(星期日) 2(星期一) 3(星期二)以此类推
JDK8新增的时间类
zoneld时区
方法名 | 说明 |
---|---|
static set< String > getAvvailablezoneIds() | 获取java中支持的所有时区 |
static ZoneId systemDefault() | 获取系统默认时区 |
static ZoneId of(String zoneId) | 获取一个指定时区 |
Instant时间戳
方法名 | 说明 |
---|---|
static Instant now() | 获取当前时间的Instant对象(标准时间) |
static Instant ofEpochSecond(long epochSecond) | 根据秒获取对象 |
static Instant ofEpochMilli(long epochMilli) | 根据毫秒获取Instant对象 |
static Instant ofEpochSecond(long epochSecond,long nanoAdjustment) | 根据秒和纳秒获取Instant对象 |
zonedDateTime atzone(zoneId zone) | 指定时区 |
boolean isBefore(Instant otherInstant) | 判断调用者代表的时间是否在参数表示的时间后面 |
boolean isAfter(Instant otherInstant) | 跟上面相反 |
Instant minusSeconds(long secondsToSubtract) | 减少秒的方法 |
Instant minusMillis(long millisToSubtract) | 减少毫秒的方法 |
Instant minusNanos(long nanosToSubtract) | 减少纳秒的方法 |
Instant plusXxxx(......) | 增加时间系列的方法 同上 |
zoneDateTime带时区的时间
方法名 | 说明 |
---|---|
static zonedDateTime now() | 获取当前时间的ZonedDateTime对象 |
static zonedDateTime ofXxxx() | 获取指定时间的zonedDateTime对象 |
zonedDateTime withXxx(时间) | 修改时间系列的方法 |
zonedDateTime minusXxx(时间) | 减少时间系列的方法 |
zonedDateTime plusXxx(时间) | 增加时间系列的方法 |
JDK8新增的时间对象都是不可变的,如果修改了时间,调用者不会发生改变,产生一个新的时间
Calendar日历类
JDK8以后月份是正常的1-12月
LocalDate年 月 日
LocalTime 时 分 秒
LocalDateTime 年 月 日 时 分 秒
方法名 | 说明 |
---|---|
static xxx now() | 获取当前时间的对象 |
static xxx of(...) | 获取指定时间的对象 |
get开头方法 | 获取日历中的年月日时分秒等信息 |
isBefore,isAfter | 比较两个LocalDate |
with开头 | 修改时间 |
minus | 减少时间 |
plus开头 | 增加时间 |
public LocalDate toLocalDate() | LocalDateTime转换成LocalDate对象 |
.isLeapYear | 判断是否为闰年 |
工具类
Duration 用于计算两个时间间隔(秒,纳秒)
period 用于计算两个日期间隔(年 月 日)
chronoUnit 用于计算两个日期间隔
例:chronoUnit DAYS.between(小日期,大日期)
标签:JAVA,Instant,对象,获取,时间,static,public From: https://www.cnblogs.com/longlonglong777/p/17463828.html