Java常用类学习:日期时间类(date,SimpleDateFormat)

Java常用类学习:日期时间类(date,SimpleDateFormat)

  • (1)Java日期时间:Date类

    • java.util包提供了Date类来封装当前的日期和时间;

    • Date类提供了2个构造函数来实例化Date对象;

       

  • Date构造方法:

    //1,构造方法1
    Date();//使用当前日期和时间来初始化对象
    //2,构造方法2
    Date(long millsec);//该方法是从1970年1月1日器的毫秒数

 

  • Date对象的常用方法:

    序号方法
    1 long getTime();//可以用于日期比较,获取long,然后比较Long的值;
    2 toString();
    3 long setTime();设置时间

     

  • 代码案例:

    public class DateDemo01 {
       public static void main(String[] args) {

           Date date=new Date();
           System.out.println(date);//Wed Mar 09 13:28:45 CST 2022
           System.out.println(date.toString());//Wed Mar 09 13:27:25 CST 2022

           //返回一个long类型的毫秒数:1646803558132
           System.out.println(date.getTime());


      }
    }

     

  • 日期比较:

    • 1,getTime();比较2个日期的毫秒值;

    public class DateDemo01 {
       public static void main(String[] args) {

           Date date=new Date();
           long l1=date.getTime();
           System.out.println("l1:"+date.getTime());
           long l2=4046803970915l;
           date.setTime(l2);
           System.out.println("l2:"+date.getTime());
           System.out.println(date);//Fri Mar 28 08:12:50 CST 2098

           //比较结果
           System.out.println("比较结果:"+Math.max(l1,l2));


      }
    }

     


  • (2)Java日期时间:SimpleDateFormat类

    • SimpleDateFormat是:格式化和分析日期类

    • 用户可以自定义日期格式:yyyy-MM-dd HH:mm:ss

       

  • SimpleDateFormat构造方法:用于创建SimpleDateFormat对象

    //1,构造方法:
    public SimpleDateFormat(){};//无参构造方法,初始化对象
    //2,有参构造方法:String
    public SimpleDateFormat(String){};//string为要设置的日期格式:yyyy-MM-dd HH:mm:ss
    //3,有参构造方法:String,local
    public SimpleDateFormat(String ,local){};//string,local参数的构造方法
    //4,有参构造方法:String,simple格式
    public SimpleDateFormat(String ,simple){};//string,simple参数的构造方法

     

  • SimpleDateFormat对象的常用方法:

    序号方法
    1 format(Date date); //date-->String ;参数为Date类型;返回类型为String ;
    2 parse(String str); //String-->date;参数为String类型,返回类型为Date;
       

     

  • 代码案例:日期格式及日期转换:date-->Sring ; String -->date


    public class DateDemo02 {
       public static void main(String[] args) {

           //使用SimpleDateFormat来格式化日期:
           //允许用户输入日期格式:yyyy-MM-dd HH:mm:ss

           Date date=new Date();


           //1.1,Date-->String:不指定格式

           SimpleDateFormat sdf=new SimpleDateFormat();
           String str=null;//用于接收返回的字符串日期
           str=sdf.format(date);
           System.out.println(str);//22-3-9 下午1:53 //不指定格式,默认格式

           //1.2,Date-->String:指定格式
           SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
           str=sdf1.format(date);
           System.out.println(str);//2022-03-09 13:55:42

           //1.3,Date-->String:指定格式
           SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");
           str=sdf2.format(date);
           System.out.println(str);//2022-03-09

           //1.4,Date-->String:指定格式
           SimpleDateFormat sdf3=new SimpleDateFormat("HH:mm:ss");
           str=sdf3.format(date);
           System.out.println(str);//13:56:49


           //String -->Date:parse参数
           //parse();返回日期对象
           String str1="2018-09-12";
           SimpleDateFormat sdf4=new SimpleDateFormat("yyyy-MM-dd");
           try {
               Date date1=sdf4.parse(str1);
               System.out.println(date1);//Wed Sep 12 00:00:00 CST 2018
          } catch (ParseException e) {
               e.printStackTrace();
          }


      }
    }

     


  • (3)Java日期时间:Calendar类

    • Calendar类要比Date类强大很多,而且在实现方式上也比Date类要复杂一些;

    • Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,只需要使用getInstanceof方法创建即可;

 

  • 创建一个Calendar对象:

    Calendar c=Calendar.getInstanceof();//默认是当前日期

     

  • 创建一个指定日期的Calendar对象:

    • 使用Canlendar类创建指定日期时,首先要先创建Calendar对象,然后再设定该对象中的年月日参数;

    //创建一个:2009年6月12日的Calendar对象
    Calendar c=Calendar.getInstanceof();
    c.set(2009,6-1,12);

     

  • Calendar对象字段类型:

    常量描述
    Calendar.YEAR 年份
    Calendar.MONTH 月份

     

  • 代码案例:


    public class CalendarDemo01 {
       public static void main(String[] args) {

           //创建Calendar对象
           Calendar c=Calendar.getInstance();//默认系统实际
           //1.1 获取当前日期
           System.out.println(c.getTime());//Wed Mar 09 14:22:05 CST 2022

           System.out.println("------------------");

           //1.2 获取Canledar类的常量值,返回均为Int类型
           System.out.println(c.get(Calendar.YEAR));
           System.out.println(c.get(Calendar.MONTH)+1);//月份要+1
           System.out.println(c.get(Calendar.DATE));
           System.out.println(c.get(Calendar.DAY_OF_MONTH));
           System.out.println(c.get(Calendar.HOUR));
           System.out.println(c.get(Calendar.HOUR_OF_DAY));
           System.out.println(c.get(Calendar.MINUTE));
           System.out.println(c.get(Calendar.SECOND));
           System.out.println(c.get(Calendar.DAY_OF_WEEK));


           System.out.println("-------------------------");
           //1.3 修改日期:add()方法:

           //1.3.1 当前日期+10天:
           c.add(Calendar.DATE,10);//加10天,是正10;减10天,是-10
           System.out.println(c.getTime());//Sat Mar 19 14:40:25 CST 2022


      }
    }

    /*
           //Calendar常量:
           System.out.println(Calendar.YEAR);
           System.out.println(Calendar.MONTH);
           System.out.println(Calendar.DATE);
           System.out.println(Calendar.DAY_OF_MONTH);
           System.out.println(Calendar.HOUR);//12小时制
           System.out.println(Calendar.HOUR_OF_DAY);//24小时制
           System.out.println(Calendar.MINUTE);
           System.out.println(Calendar.SECOND);
           System.out.println(Calendar.DAY_OF_WEEK);
    */

     

 

posted @   gzs1024  阅读(290)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示