JAVA——时间类

JAVA——时间类

世界标准时间

  1. 格林尼治时间 简称GMT

  2. 目前世界标准时间已替换为:原子钟

中国标准时间:世界标准时间+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(小日期,大日期)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值