Date用法

第四篇

日期与时间

一、java中的时间

   (1)java中采用标准类库的Date类型时间。使用距离一个固定时间点的毫秒数的时间点来表示时间

   (2)固定时间点即纪元(UTC)。也就是1970年1月1日 00:00:00

   (3)UTC与GMT都是世界通用的时间格式  

  javase:标准版本的jdk,即类库为基本类库

  javaee:企业版本的jdk,基本类库满足不了企业开发的需求,因此此jdk中, 含有其他与企业开发相关的类库

  javame:移动版本的jdk,jdk中含有与移动端开发的类型

二、Date类型

    java.util.Date类型,封装了日期与时间的信息。 之后里面的很多功能都弃用,渐渐的使用Calender类型来替代           

   (1)构造器

       Date():

             创建一个封装当前系统时间的Date对象

       Date(long time):

              创建一个距离纪元time毫秒的Date对象

   (2)常用方法

      long getTime();

            返回距离纪元的毫秒数

      void  setTime(long time);(可以把Calendar里的信息转换成date类型)

            修改时间对象的毫秒数

SimpleDateFormat:

     作用:此类型可以对Date进行格式化及其将字符串转成Date类型。

           

常用构造器:

     SimpleDateFormat(String format):

          创建一个指定格式的SimpleDateFromat对象。

常用方法

     String format(Date date)         

          作用是将参数date按照构造器里的格式进行格式化成字符串

     Date parse(String str)

          作用是将指定字符串str转变成Date类型

常用格式:

      yy:后两位年

      yyyy: 年

      MM:月

      dd:日

      HH:时(24制)

      hh:时(12制)

      mm:分

      ss:秒

      a:上下午

      E:星期             

                  

练习: 计算自己已经生活了多少毫秒 

package com.hyxy.date.day04;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class Test01 {

   public static void main(String[] args) {

   String info="1998-8-2";

   Date d=new Date();

   SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

   try{

       Date d1=sdf.parse(info);

       long t1=((d.getTime()/3600000)/24);

       long t2=((d1.getTime()/3600000)/24);

       System.out.println("至今为止活了:"+(t1-t2)+"天");

   }catch(ParseException e){

       e.printStackTrace();

   }

}

Calendar:

 (1)是日历类型,此类型封装了有关于日历的所有信息。主要用于计算时间分量。

  时间分量:日期和时间的一部分有效值。

 (2)Calendar是一个抽象类,提供了一方法getInstance()来获取一个通用的子类型对象,一般都是GregorianCalendar(格力高历,阳历)类型的对象。

 (3)时间分量常量:

     static int YEAR

     static int MONTH:日历里的月份是0-11。

     static int DATE

     static int DAY_OF_WEEK:默认从周日到周六,即1-7

     static int DAY_OF_MONTH

     .....

  (4)类型中提供了get(int field)方法,通过指定时间分量常量来获取相应的时间分量的值

  (5)提供了set(int field,int value),进行设置时间分量值

  (6)提供了add(int field,int value),用于对当前日历信息通过时间分量来计算value后的日历信息

注意:value值如果是负数,向前推算。

 

其他方法

     Date getTime():

          将日历对象转成Date对象

     void setTime(Date date);

          将指定date日期转成日历对象的信息

     int getActualMaximum(int field)

          获取指定时间分量的最大值

如:

指定Calendar.MONTH,获取的是11,即12月份

Calendar.DATE,获取的是当前日历对象所在月天数的最大值

 

练习:输出2016年每月的天数。

package com.hyxy.date.day04;

import java.util.Calendar;

public class Testwork {

   public static void main(String[] args) { 

   Calendar c=Calendar. getInstance();

   c.set(Calendar.YEAR, 1994); //设置年份

   for(int i=0;i<12;i++){

       c.set(Calendar.MONTH,i);//设置月份    

       System.out.println((i+1)+"月的最多天数:"+c.getActualMaximum(Calendar.DATE));

   }

   }

}

猜你喜欢

转载自blog.csdn.net/qq_42721694/article/details/81914812