Java8 时间处理

        Java8 日期处理有了新的API,基于ISO标准日历系统,并且java.time包下的所有类都是不可变类型而且线程安全。之前的java.util.Date是可变类型,其中SimpleDateFormat 也是线程不安全的类。

推荐使用 Instant 代替 Date , LocalDateTime 代替 Calendar ,DateTimeFormatter 代替 SimpleDateFormat。

日期类介绍

类名称描述
lnstant时间戳
Duration持续时间
LocalDate日期,如:2021-02-15
LocalTime时间,如:18:12:18
LocalDateTime日期和时间,如:2021-02-15 18:12:18
Period时间段
ZoneOffset时区偏移量,如:+8:00
ZonedDateTime带时区的时间
Clock时钟

下面我们看下具体例子:

1、获取当前日期(今天)

注意:LocalDate.now() 只有日期,不包含时间。

public class Test {

    public static void main(String[] args){
        LocalDate today = LocalDate.now();
        System.out.println("今天的日期:"+today);

    }

}

运行结果:

今天的日期:2021-02-15

2、获取当前时间

注意:LocalTime.now() 只有时间,不含有日期。

public class Test {

    public static void main(String[] args){
        LocalTime time = LocalTime.now();
        System.out.println("当前时间:"+time);

    }

}

运行结果:

当前时间:11:55:15.045

 3、获取当前的时间戳

public class Test {

    public static void main(String[] args){
       Instant timestamp = Instant.now();
       System.out.println("当前时间戳: " + timestamp.toEpochMilli());
    }

}

4、获取年、月、日

public class Test {

    public static void main(String[] args){
        LocalDate today = LocalDate.now();
        System.out.println("年:"+ today.getYear());
        System.out.println("月:"+ today.getMonthValue());
        System.out.println("日:"+ today.getDayOfMonth());
    }

}

5、自定义日期

public class Test {

    public static void main(String[] args){
       LocalDate date = LocalDate.of(2018,8,6);
       System.out.println("自定义日期:"+date);
    }

}

运行结果:

自定义日期:2018-08-06

 6、字符串和日期类型互转

public class Test {

    public static void main(String[] args){
        LocalDateTime date = LocalDateTime.now();
        DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

        
        String str = date.format(format1);
        System.out.println("日期转换为字符串:"+str);

        LocalDateTime date1 = LocalDateTime.parse(str,format1);
        System.out.println("字符串转换为日期:"+date1);
    }

}

运行结果:

日期转换为字符串:2021-02-15 12:06:24
字符串转换为日期:2021-02-15T12:06:24

7、Clock时钟类

public class Test {

    public static void main(String[] args){
       Clock defaultClock = Clock.systemDefaultZone();
       System.out.println("Clock 当前时间戳: " + defaultClock.millis());
    }

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值