zoukankan      html  css  js  c++  java
  • 日期类

    日期类

      与时间相关的类

        1.System类下的currentTimeMillis()

        2.Date类:java.util.Date(以及其子类java.sql.Date)

          如何创建其实例:其下方法:toString()、getTime()

        3.SimpleDateFormat类

        4.Calendar类

      1.java.lang.System类

        system类提供的public static long currentTimeMills()用来返回当前时间与1970年0时0分0秒之间以毫秒为单位的时间差。

        

       2.java.util.Date类

        表示特定的瞬间,精确到毫秒

        Date():创建对象可以获取本地当前的时间

        Date(long date)

        getTime():用来返回当前时间与1970年0时0分0秒GMT以来对Date对象表示的毫秒数。

        toString():把此Date对象转换为以下形式的String:星期 mon dd hh:mm:ss:zzz yyyy

        @Test
        public void test1(){
            Date d1 = new Date();
            System.out.println(d1.toString());//Fri Apr 12 14:02:27 CST 2019    
            System.out.println(d1.getTime());//1555049142281
            java.sql.Date d2 = new java.sql.Date(214141143);
            System.out.println(d2);//1970-01-03
            Date d3 = new Date(1555049142281L);
            System.out.println(d3);
        }

      

        3.SimpleDateFormat类易于国际化

          格式化:日期----->文本使用SimpleDateFormat()方法

          解析:文本------>日期

           格式化:
         //方式一: SimpleDateFormat sdf = new SimpleDateFormat(); String date = sdf.format(new Date()); System.out.println(date);//19-4-12 下午2:13 //方式二: SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String date1 = sdf1.format(new Date()); System.out.println(date);//19-4-12 下午2:19

     注:

      解析需要看创建SimpleDateFormat类对象的构造器,参数的格式决定了写入parse()参数的形式

            解析:
            Date date2 = sdf.parse("19-4-12 下午2:13");
            System.out.println(date2);

     

    练习:

    三天打鱼两天晒网

     
        @Test
        public void test2() throws ParseException{
            String str1 = "1999-9-21";
            String str2 ="1999-9-19";
            int cday=getDays(str1, str2);
            if(cday%5==0||cday%5==4){
                System.out.println("晒网");
            }else{
                System.out.println("打鱼");
            }
        }
        
        public int getDays(String date1,String date2) throws ParseException{
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
            Date d1 = sdf.parse(date1);
            Date d2 = sdf.parse(date2);
            long ltime = d1.getTime()-d2.getTime();
            return (int)ltime/1000/3600/24+1;
    }

           4.java.lang.Calendar(日历)类

          Calendar是一个抽象基类,主要用于完成日期字段之间相互操作功能

          <1>获取Calendar实例的方法

          》使用Calendar.getInstance()方法

          》调用他的子类GregorianCalendar的构造器。

            <2>通过get(int field)方法来取得想要的时间信息

          》public void set(int field,int value)

          》public void add(int field,int amount)

          》public final Date getTime()

          》public final void setTime(Date date)

        @Test
        public void test3(){
            Calendar c = Calendar.getInstance();
            int i = c.get(Calendar.DAY_OF_MONTH);//当月的第几天
            System.out.println(i);//12
    c.add(Calendar.DAY_OF_MONTH,
    2); int j = c.get(Calendar.DAY_OF_MONTH); System.out.println(j);//14

          c.set(Calendar.DAY_OF_MONTH, 24);
          Date d = c.getTime();
          System.out.println(d);//Wed Apr 24 20:55:40 CST 2019

        } 
  • 相关阅读:
    使用JS实现复制粘贴功能
    前端向后端发送请求(FormData),你们不要吐槽我,有的时候我也不想写注释
    最全面的数组去重详细解析
    查找字符串数组中的最长公共前缀
    最简单的让多行表格滚动方法
    送给vue初学者的 vue.js技巧
    git 和码云的上传文件代码操作
    常用模块 二
    深拷贝与浅拷贝
    常用模块升级
  • 原文地址:https://www.cnblogs.com/yangHS/p/10695792.html
Copyright © 2011-2022 走看看