• 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() 只有日期,不包含时间。

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalDate today = LocalDate.now();
    4. System.out.println("今天的日期:"+today);
    5. }
    6. }

    运行结果:

    今天的日期:2021-02-15

    2、获取当前时间

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

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalTime time = LocalTime.now();
    4. System.out.println("当前时间:"+time);
    5. }
    6. }

    运行结果:

    当前时间:11:55:15.045

     3、获取当前的时间戳

    1. public class Test {
    2. public static void main(String[] args){
    3. Instant timestamp = Instant.now();
    4. System.out.println("当前时间戳: " + timestamp.toEpochMilli());
    5. }
    6. }

    4、获取年、月、日

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalDate today = LocalDate.now();
    4. System.out.println("年:"+ today.getYear());
    5. System.out.println("月:"+ today.getMonthValue());
    6. System.out.println("日:"+ today.getDayOfMonth());
    7. }
    8. }

    5、自定义日期

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

    运行结果:

    自定义日期:2018-08-06

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

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalDateTime date = LocalDateTime.now();
    4. DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    5. String str = date.format(format1);
    6. System.out.println("日期转换为字符串:"+str);
    7. LocalDateTime date1 = LocalDateTime.parse(str,format1);
    8. System.out.println("字符串转换为日期:"+date1);
    9. }
    10. }

    运行结果:

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

    7、Clock时钟类

    1. public class Test {
    2. public static void main(String[] args){
    3. Clock defaultClock = Clock.systemDefaultZone();
    4. System.out.println("Clock 当前时间戳: " + defaultClock.millis());
    5. }
    6. }

  • 相关阅读:
    Python中关于文件的操作,一篇就够了
    【StableDiffusion】2024.6.4 亲测成功,无魔法 Civitai 镜像,国内下载 Civitai 模型的方法
    《微信小程序-进阶篇》组件封装-Icon组件的实现(一)
    源码编译安装PHP及搭建论坛
    [moeCTF 2023] REV
    为什么前后端传数据要用json?
    探索自动化测试工具:Selenium的威力与应用
    ShardingJDBC:适配OceanBase
    __int128类型movaps指令crash
    私域电商模式全解析:掌握这些方法,让你的生意不再难做!
  • 原文地址:https://blog.csdn.net/icanlove/article/details/126281724