Java常用的日期、时间API总结

记录工作中常用的日期、时间API

获取当前时间戳---------------返回当前时间与从【1970年1月1日0时0分0秒】之间以毫秒为单位的时间差
long currentTimeMillis = System.currentTimeMillis();

Date类的使用
  1. java.util.Date
    两个构造器:
    (1)一个无参构造器 Date date = new Date(); 创建一个基于当前系统时间的Date的实例
    (2)一个有参构造器 Date date = new Date(9999999999L); 创建一个基于指定时间戳的Date的实例

  2. java.sql.Date (是java.util.Date子类) 对应着数据库中的date类型

  3. SimpleDateFormat类:用于日期时间的格式化和解析(只适用于Date,Calendar不能用)
    格式化:日期—>字符串
    SimpleDateFormat sf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
    Date date = new Date();
    String strDate = sf.format(date);
    解析:字符串—>日期
    Date parse = sf.parse(strDate);

  4. Calendar类(日历类):抽象类

     (1)实例化,由于Calendar是一个抽象类,所以我们需要创建其子类的实例。这里我们通过Calendar的静态方法getInstance()即可获取
    

    Calendar instance = Calendar.getInstance();
    (2)常用的方法:get(int field) / set(int field, xx) / add(int field, xx) / getTime() 获取date / setTime(Date) 重置当前时间
    int field 可以为: Calendar.HOUR… 好多好多,根据业务需求可以自行去翻阅API

  5. Date和Calendar都有缺点,会面临的问题
    1.可变性:像日期和时间这样的类应该是不可变
    2.偏移性:Date中的年份是从1900开始的,而月份都是从0开始的
    3.格式化:格式化只对Date有用,Calendar则不行,此外,他们也不是线程安全的,不能处理闰秒等。

  6. 所以JDK1.8引入了新的日期API,如下:

    一、
        LocalDate    本地日期     年月日
        LocalTime    本地时间     时分秒
        LocalDateTime    本地日期时间  年月日T时分秒
    
        of():获取指定的日期、时间对应的实例
        LocalDate date = LocalDate.of(2022, 8, 3);
    二、 Instant: 瞬时 ----- 类似于Date
           实例化:now() / ofEpochMilli()
           方法:  toEpochMilli()  获取时间戳
    三、DateTimeFormatter 类似于 SimpleDateFormat
       DateTimeFormatter sf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //格式化:日期、时间-----> 字符串
        LocalDateTime dateTime = LocalDateTime.now();
        String strDate = sf.format(dateTime);
        //解析:字符串---->日期、时间
        LocalDateTime time = LocalDateTime.from(sf.parse("2023-03-15 16:23:15"));
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值