Date型引用数据类型

来源:互联网 发布:杜蕾斯金刚持久环 知乎 编辑:程序博客网 时间:2024/05/29 15:46

Date型引用数据类型

Java中处理日期的类主要有Date、Calendar和DateFormat三个,在JDK中它们对应的包的位置和相关的派生类如下所示:

Date:具体类java.util.Date  -----用于输出当前时间。

Calendar:抽象类java.text.DateFormat,它派生的一个子类为java.text.SimpleDateFormat ----用于提取当前的年,月,日等信息。

DateFormat:抽象类java.util.Calendar,它派生的一个子类为java.util.GregorianCalendar----用于按照自己的格式进行输出。

观察如下程序:

 

packagecom.yunhe.study;

 

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

importjava.util.Calendar;

importjava.util.Date;

 

public classCalendarQuestion {

      public static void main (String[] args){

           Date date=new Date ();

           System.out.println(date);//输出date

          

          

           Calendarcal=Calendar.getInstance();//注意命名方法与常见的不用

           System.out.println(cal.get(Calendar.YEAR));//输出年份

           System.out.println(cal.get(Calendar.MONTH));//系统默认从0月算起

           System.out.println(cal.get(Calendar.MONTH)+1);

           System.out.println(cal.get(Calendar.DAY_OF_MONTH));//DAY_OF_MONTH代表本月的第几天

           System.out.println(cal.get(Calendar.HOUR));//代表输出小时

           System.out.println(cal.get(Calendar.MINUTE));//代表输出分钟数

           System.out.println(cal.get(Calendar.SECOND));//代表输出秒数

           System.out.println(cal.get(Calendar.DAY_OF_WEEK));//代表周几,系统默认从周日为第一天

          

           SimpleDateFormat sdf=newSimpleDateFormat ("yyyy-MM-dd HH:mm:ss");

           //简单的时间格式,new一块内存用于存放字符串,并将地址指向sdf

           //将Date型变为String型变量进行输出

           String str = sdf.format(date);//da用上边规定的格式format类型sdf转化后赋给str

           System.out.println(str);

          

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

           //将String型转化为Date型变量进行输出

           String my="2013-03-12";//格式必须一致

           try {

                 date=sdf.parse(my);

                 System.out.println(date);//选中该部分,点击右键sourround with---try/catch Block

           } catch (ParseException e) {

                 // TODO Auto-generated catchblock

                 e.printStackTrace();

           }

          

           System.out.println(date.getTime());

           //将Date型转化为String型进行输出

           //getTime()使其按毫秒进行输出,可用于订单生成等

          

          

           str = sdf.format(date.getTime());//把long型转化为String型

           System.out.println(str);

           sdf=new SimpleDateFormat("yyyy-MM-dd");//String转化为Data

           try {

                 date=sdf.parse(str);

                 System.out.println(date);

           } catch (ParseException e) {

                 // TODO Auto-generated catchblock

                 e.printStackTrace();

           }

          

          

      }

 

}

 

1.    当用于提取当前时间时:

Data da=new Date();

System.out.println(da);

2.    当用于提取当前年时:

Calendarcal=Calendar.getInstance();

System.out.println(cal.get(Calendar.YEAR));

注意月份从0算起,星期日为1。

 

 

3.    当用于按规定格式提取时间时(Date-String):

SimpleDateFormatsdf=new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");

String str =sdf.format(date);

System.out.println(str);

4.    当用于提取当前时间时(String-Date):---选中date=sdf.parse(my);

System.out.println(date);点击右键sourround with---try/catch Block.

 

sdf=newSimpleDateFormat ("yyyy-MM-dd");

Stringmy="2013-03-12";     

try {date=sdf.parse(my);

System.out.println(date);

} catch(ParseException e) {// TODO Auto-generated catch block

e.printStackTrace();}

 

 

5.    当用于提取当前时间的毫秒形式(Date-long):

System.out.println(date.getTime());

 

6.    用于将毫秒转化为String(long-String):

str =sdf.format(date.getTime());

System.out.println(str);

1 0
原创粉丝点击