Java:常用API

1.Date类

(1)Date类

Date类是一个JDK写好的javabean类,用来描述时间,精确到毫秒

(2)创建日期对象

     1.利用空参构造创建的对象,默认表示系统当前时间

        Date date = new Date();

     2.利用有参构造创建的对象,表示指定的时间

        Date date = new Date(指定毫秒值);

     3.修改时间对象中的毫秒值

       setTime(毫秒值);

     4.获取时间对象中的毫秒值

        getTime();

2.SimpleDateFormat类

(1)作用

    1.格式化:把时间变成我们喜欢的格式

    2.解析:把字符串表示的时间变成Date对象

(2)构造方法

     1.public SimpleDateFormat():构造一个SimpleDateFormat,使用默认格式

     2.public SimpleDateFoemat(String pattern):构造一个SimpleDateFormat,使用指定格式

(3)常用方法

      1.public final String format(Date date):格式化(日期对象->字符串)

      2.public Date parse(String source):解析(字符串->日期对象)

3.Calender类

(1)Calender类

     1.Calender代表了系统当前时间的日历对象,可以单独修改、获取时间中的年,月,日

     2.Calender是一个抽象类,不能直接创建对象

(2)获取Calender日历类对象的方法

      1.pubulic static Calender getInstance():获取当前时间的日历对象

      2.会根据系统的不同时区来获取不同的日历对象,默认表示当前时间

      3.会把时间中的纪元,年,月,日,时,分,秒,星期等等放在一个数组中

      4.月份:范围0~11,如果获取出来的是0,那么实际上是1月,以此类推

      5.星期:星期日是一周的第一天如果获取出来的数据是1,那么实际上是星期日,以此类推

(3)Calender常用方法

      1.public final Date getTime():获取日期对象

      2.public final setTime(Date date):给日历设置日期对象

      3.pubic long getTimeInMillis():拿到时间毫秒值

      4.public void setTimeInMillis(Long millis):给日历设置时间毫秒值

      5.public int get(int field):取日历中的某个字段信息

      6.public void set(int field,int value)修改日历的某个字段的信息

      7.public void add(int field,int amount):为某个字段增加/减少指定的值

4.JDK8新增的时间相关类

(1)JDK7与JDK8

      1.JDK7:代码麻烦,多线程环境下会导致数据安全的问题

      2.JDK8:代码相对简单,时间对象都是把不可变的,解决了多线程的问题

(2)Date类

      1.ZoneId:时区

     (1)static Set<String> getAvailableZoneIds():获取Java中支持的所有时区

     (2)static ZoneId systemDafault():获取系统默认时区

     (3)static ZoneId of(String zobeId):获取一个指定时区

      2.Instant:时间戳,就是指特定的时间,不带时区,表示的是世界标准时间

     (1)static Instant now():获取当前时间的Instant对象(标准时间,不带时区)

     (2)static Instant ofXxx(long epochMilli):根据(秒/毫秒/纳秒)获取Instant对象

     (3)ZonedDateTime atZone(ZoneId zone):指定时区

     (4)Boolean isXxx(Instant otherInstant):判断系列的方法

     (5)Instant minusXxx(long millisToSubtract):减少时间系列的方法

     (6)Instant plusXxx(long nillisToSubtract):增加时间系列的方法

      3.ZoneDateTime:带时区的时间

     (1)static ZoneDateTime now():获取当前时间的ZoneDateTime对象

     (2)static ZoneDateTime ofXxx(。。。):获取指定时间的ZoneDateTime对象

     (3)ZoneDateTime withXxx(时间):修改时间系列的方法

     (4)ZoneDateTime minusXxx(时间):减少时间系列的方法

     (5)ZoneDateTime plusXxx(时间):增加时间系列的方法

(3)SimpleDateFormat(日期格式化类)

      1.DateTimeFormatter:用于时间的格式化和解析

     (1)static DateTimeFormatter ofPattern(格式):获取格式对象

     (2)String format(时间对象):按照指定方式格式化

(4)Calender(日历类)

       1.LocalDate:年、月、日

       2.LocalTime:时、分、秒

       3.LocalDateTime:年、月、日、时、分、秒

方法:

  1.static XXX now():获取当前时间的对象

  2.static XXX of(。。。):获取指定时间的对象

  3.get开头的方法:获取日历中的年、月、日、时、分、秒等信息(LocalDate只能获取年月日,其他两个同理)

  4.isBefore,isAfter:比较两个LocalDate

  5.with开头的:修改时间系列的方法

  6.minus开头的:减少时间系列的方法

  7.plus开头的:增加时间系列的方法

  8.public LocalDate toLocalDate():LocalDateTime转换成一个LocalDate对象

  9.public LocalTime toLocaltime():LocalDateTime转换成一个LocalTime对象

(5)工具类

       1.Duration:用于计算两个“时间”间隔(秒,纳秒)

     (1)static Duration between(Temporal start, Temporal end):计算两个时间点之间的持续时间   
     (2)long toNanos():转换为纳秒

     (3)long toMillis():转换为毫秒

     (4)ong toSeconds():转换为秒

     (5)long toMinutes():转换为分钟

     (6)long toHours():转换为小时

     (7)long toDays():转换为天

     (8)Duration plus(Duration):持续时间相加

     (9)Duration minus(Duration):持续时间相减

     (10)boolean isNegative():检查是否为负值

     (11)boolean isZero():检查是否为零

       2.Perid:用于计算两个“日期”间隔(年,月,日)

     (1)static Period between(LocalDate start, LocalDate end):计算两个日期之间的周

     (2)int getYears():获取年数

     (3)int getMonths():获取月数

     (4)int getDays():获取天数

     (5)Period plus(Period):周期相加

     (6)Period minus(Period):周期相减

     (7)boolean isNegative():检查是否为负值

     (8)boolean isZero():检查是否为零

       3.ChronoUnit:用于计算两个“日期”间隔(所有单位)

      (1)long between(Temporal temporal1, Temporal temporal2)

LocalDateTime start = LocalDateTime.of(2023, 1, 1, 0, 0);
LocalDateTime end = LocalDateTime.now();

long days = ChronoUnit.DAYS.between(start, end);
long hours = ChronoUnit.HOURS.between(start, end);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值