Date类、Calendar类 与 SimpleDateFormat类

本文介绍了Java中处理日期和时间的三个核心类:Date、Calendar和SimpleDateFormat。通过示例代码展示了它们的常用方法,包括获取年、月、日、时间等信息,以及如何进行日期格式化和字符串日期转换。此外,还提到了Calendar类的抽象特性以及SimpleDateFormat的格式化规则。
摘要由CSDN通过智能技术生成

目录

1.Date类

1.Date类的概述

2.Date类的常用方法

2.Calendar类

1.Calendar类的概述

2.Calendar类的常用方法

3.SimpleDateFormat类

1.SimpleDateFormat类的概述

2.SimpleDateFormat类的常用方法


1.Date类

1.Date类的概述

一个日期对象,时间从程序运行的那一刻时间开始

2.Date类的常用方法

 public static void main(String[] args) {
        Date d=new Date();  //创建一个日期对象,里面包含程序运行的那一刻时间
        System.out.println(d.getYear()+1900);   //获得年 可以使用 只是官方不推荐
        System.out.println(d.getMonth()+1);    //或得月从0开始
        System.out.println(d.getDate());  //月中的第几天
        System.out.println(d.getHours());  //获取一天中的第几个小时
        System.out.println(d.getDay());     //获取一周中的第几天从星期天开始
        System.out.println(d.getMinutes());   //获取这个小时中的第几分钟
        System.out.println(d.getSeconds());  //获取这一分钟现在是第几秒
        System.out.println(d.getTime());   //从自1970-1-1 0:0:0 至程序运行时那一刻的时间差
        System.out.println(d);
        //1622168142244

        Date d2=new Date(1622168142244L);  //創建一個日期對象闖入一個long類型的參數 裡面包含long類型
        //對應的那一刻時間
        System.out.println(d2.getYear()+1900);   //获得年 可以使用 只是官方不推荐
        System.out.println(d2.getMonth()+1);
        System.out.println(d2.getDate());
        System.out.println(d2.getSeconds());
        System.out.println(d2.getTime());
//        1622168142244
        System.out.println(d2);    //Fri May 28 10:15:42 GMT+08:00 2021  直接輸出默認時間格式
        System.out.println(d2.toLocaleString());  //根據當地時間格式輸出時間 2021-5-28 10:15:42
        System.out.println();

    }

2.Calendar类

1.Calendar类的概述

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建 对象的过程对程序员来说是透明的,只需要使用getInstance方法创建,或者利用多态new子类对象即可

2.Calendar类的常用方法

 public static void main(String[] args) {
        //Calendar是抽象類不能創建對象
//    Calendar c=Calendar.getInstance();  //返回的是子類對象
        Calendar c=new GregorianCalendar();   //直接new子類對象

//        c.set(2002,5,10);     設置一個時間
//        System.out.println(c.getTime());   把時間取出來

        System.out.println(c.get(Calendar.YEAR)); //因為是取的Calendar的YEAR屬性所以這麼寫
        System.out.println(c.get(Calendar.MONTH)+1);  //创建对象的时间是第幾個月從0開始
        System.out.println(c.get(Calendar.DAY_OF_MONTH));  //创建对象的时间是月中的第幾天
        System.out.println(c.get(Calendar.DAY_OF_WEEK));  //创建对象的时间是星期中的第几天从星期天开始
        System.out.println(c.get(Calendar.DAY_OF_YEAR)); //创建对象的时间是年中的第几天

    }

3.SimpleDateFormat类

1.SimpleDateFormat类的概述

SimpleDateFormat 日期格式化类

2.SimpleDateFormat类的常用方法

 public static void main(String[] args) throws ParseException {
//        Date d = new Date();
//        System.out.println(d);   //Sat May 29 12:44:26 GMT+08:00 2021   创建对象的时间
//        System.out.println(d.toLocaleString()); //2021-5-29 12:45:10  按当地日期格式返回时间

        /*日期格式化--把java中的对象型(new Date Calendar) 转为指定格式的字符    */
        Date d = new Date();
//        SimpleDateFormat s=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss:SSS:E");
//        String s2=s.format(d);
//        System.out.println(s2);   //2021年05月29日 12:54:13:211:星期六

//        SimpleDateFormat s=new SimpleDateFormat();
//        String s2=s.format(d);
//        System.out.println(s2);   //21-5-29 下午12:55

        Calendar c=new GregorianCalendar();
        System.out.println(c.get(Calendar.DAY_OF_YEAR));
        SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS:E");
        //2021-05-29 13:12:05:968:星期六
        SimpleDateFormat s1=new SimpleDateFormat("Y  -M  -D H  :m  :s  :S  : E");
        //2021-5-29 13:12:5:968:星期六
        String s3=s.format(d);
        String s4=s1.format(d);
        System.out.println(s3);
        System.out.println(s4);
//        String s2=s.format(d);
//        System.out.println(s2);//2021-04-29 01:04:29:535:星期六
        //SimpleDateFormat 的构造方法确定格式一般来说是根据传入的字符参数

//
       String day="2018.5.20";
       SimpleDateFormat s5=new SimpleDateFormat("y.MM.dd");
       Date d2=s5.parse(day);
        System.out.println(d2.toLocaleString());  //2018-5-20 0:00:00
//        将字符串日期转换为日期对象  注这里的天必须用小写d来表示  其中输入的字符串日期格式需要与
//        SimpleDateFormat 构造方法中的日期格式一样

//总结: 在SimpleDateFormat 的构造方法中有特定的字符串类型的参数如:
//        y 表示年份(大写小写都可以)   yyyy 和 y都行
//        m表示月份和分钟   MM(大写)表示月份  mm(小写)表示分钟   单个或两个都行入mm或m  MM或M 单个的就没有0了如 05分钟和5分钟
//        d表示天(大写表示今天是一年中的第几天,小写表示是几号)     单个或两个都行  如d和dd
//        h表示小时(大写小写都行)  单个双个都行h额hh
//        s表示秒和毫秒  单个和多个都可以  s大写和小写都可以表示秒和毫秒只是如果同时要表示秒和毫秒的话一个用大写一个用小写
//        E表示星期几
        /*注: SimpleDateFormat 的构造方法中穿入的参数的特定的字符串类型的字符没有规定位置和
        确定格式,只要按我刚才上面写的字母表示规则就行  */
    }

最后,觉得有用的话,可以点赞、收藏,加关注哟,要不下次就找不见了哟!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值