Java日期类Date、SimpleDateFormat 日期格式类、Calendar详细介绍

一、Date类

1.1 Date类简单介绍

  • 位于Java.util包下,注意不要导错,在Java.sql包下也有一个Date类
    在这里插入图片描述
  • Date 类用于表示一个特定的时间点。它是 Java 中最基本的日期类,提供了多种方法来获取和设置日期和时间的各个部分。
  • 注意:Date类中大部分操作日期的方法都被Calendar类代替了,Date类现在主要用于获取日期对象,那么我们接下来主要来介绍一下Date类的构造方法,是如何来创建对象的。
  • 下图可以看到大部分方法都过时了。
    在这里插入图片描述

1.2 Date类的构造方法

在这里插入图片描述

  • 上图发现,仅有两个构造方法未过时,那么我们就针对这两个展开来讲一下。
方法签名 方法描述
Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)
Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
代码演示
     //获得当前时间对象
        Date date = new Date();
        System.out.println(date);//Sun Jun 09 22:10:52 CST 2024
        
        //获取从1970-1-1加指定的毫末值的对象,即从1970-1-1加上传入的毫秒值
        Date date1 = new Date(10*24*60*60*1000);
        // 一秒 = 1000ms,那么指定的毫秒值10*24*60*60*1000就是10天,
        // 获得日期就是1970-1-11
        System.out.println(date1);//Sun Jan 11 08:00:00 CST 1970
        
        //创建日期格式化对象
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(simpleDateFormat.format(date));// 2024-06-09
        System.out.println(simpleDateFormat.format(date1));// 1970-01-11

在演示代码中发现正常打印日期对象,输出为Sun Jan 11 08:00:00 CST 1970
这是国际日期,不太符合中国人的日期,所以就用到了SimpleDateFormat日期格式化类,来打印出适合中国人看的日期,那么接下就讲一下SimpleDateFormat日期格式化类如何使用

二、SimpleDateFormat 日期格式化类

2.1 SimpleDateFormat 日期格式化类简单介绍


  • SimpleDateFormat 类是用于格式化和解析日期的类
  • 可以将日期对象转换为指定格式的字符串。
  • 可以将字符串解析为日期对象。
  • 可以自定义日期格式。

2.2 构造方法


方法签名 方法描述
SimpleDateFormat() 用默认的模式和默认语言环境的日期格式符号构造对象
SimpleDateFormat(String pattern) 用给定的模式和默认语言环境的日期格式符号构造对象
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols) 用给定的模式和日期符号构造对象
SimpleDateFormat(String pattern, Locale locale) 用给定的模式和给定语言环境的默认日期格式符号构造对象
代码演示
  // 无参数构造方法
            SimpleDateFormat sdf1 = new SimpleDateFormat();
            Date date1 = new Date();
            String str1 = sdf1.format(date1);
            System.out.println("默认日期格式:" + str1);// 默认日期格式:24-6-9 下午10:41

            // 带字符串参数构造方法
            SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date2 = new Date();
            String str2 = sdf2.format(date2);
            System.out.println("自定义日期格式:" + str2); // 自定义日期格式:2024-06-09 22:41:04

            // 带字符串和Locale参数构造方法
            //pattern - 描述日期和时间格式的模式
            //locale - 其日期格式符号要被使用的语言环境
            SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);//中国语言环境
            Date date3 = new Date();
            String str3 = sdf3.format(date3);
            System.out.println("自定义日期格式和Locale:" + str3);// 自定义日期格式和Locale:2024-06-09 22:41:04

            // 带DateFormatSymbols参数构造方法
            //pattern - 描述日期和时间格式的模式
            //formatSymbols - 要用来格式化的日期格式符号
            DateFormatSymbols dfs = new DateFormatSymbols(); //创建DateFormatSymbols对象,用于传入
            SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", dfs);
            Date date4 = new Date();
            String str4 = sdf4.format(date4);
            System.out.println("自定义日期格式和DateFormatSymbols:" + str4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值