日期类

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  与时间相关的类

    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

 } 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄