Java 时间类型(1)

Java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类,而不 是java.sql包下的Date类),Date对象既包含日期,也包含时间。Date类从JDK1.0起 就开始存在了,因为它历史悠久,所以它的大部分构造器、方法都已经过时,不再推荐使用了,只有少数方法可以正常使用

 

构造器:

Java.util.Date的构造器还剩下两个构造器,其他都已经过时(@Deprecated注解,表示已经不再推荐使用,使用会有警告,并且可以会导致程序性能或者安全性方面的问题)

Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。(无参构造器)

Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元 (epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。(传入一个long)

时间标识符:

G 年代标志符

y 年

M 月

d 日

h 时 在上午或下午 (1~12)

H 时 在一天中 (0~23)

m 分

s 秒

S 毫秒

E 星期

D 一年中的第几天

F 一月中第几个星期几

w 一年中第几个星期

W 一月中第几个星期

a 上午 / b 下午 标记符

k 时 在一天中 (1~24)

K 时 在上午或下午 (0~11)

z 时区

 

方法演示代码:

 

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

 

public class DateClassDemo {

    public static void main(String[] args) {

       //构造器

       Date date=new Date();//获取当前时间的date对象

       Date date2=new Date(System.currentTimeMillis());

      

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

       System.out.println(date2.toString());

       //getTime   setTime

//     long getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

//     从getTime中取出long型数据,转换成long毫秒(常用)

//     setTime(long time)设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT以后 time 毫秒的时间点。

       System.out.println("<-----拿出来------->");

       long longValue=date.getTime();

       System.out.println(longValue);//拿出来

       System.out.println("<-----放进去------->");

       longValue+=10000;

       date2.setTime(longValue);//放进去

       System.out.println(date2.toString());

      

       System.out.println("<-----比较------->");

       //比较

//     boolean before(Date when) 测试此日期是否在指定日期之前。

       System.out.println("date.before(date2) = "+date.before(date2));//date在Date2之前,所以true

//     boolean after(Date when) 测试此日期是否在指定日期之后。

       System.out.println("date.after(date2) = "+date.after(date2));//date在Date2之后,所以

//     int compareTo(Date anotherDate) 比较两个日期的顺序。

       System.out.println("date.compareTo(date2) = "+date.compareTo(date2));//date-Date2,-1代表Date比Date2小

//    

       System.out.println("<-----Date和String之间互转------->");

//      日期转换

          System.out.println("SimpleDateFormat 进行日期格式化");

//    SimpleDateFormat简单的日期格式化

//    传入需要的时间格式

          SimpleDateFormat dateFormat1=new SimpleDateFormat("yyy-MM-dd HH:mm:ss:SSS");

//    格式化 dateFormat1.format(date); 传入需要的格式

          String strDate=dateFormat1.format(date);

          System.out.println("strDate = " +strDate);

//      换回来

          Date date3;

        //相互转换时用到try/catch格式

          try {

//     strDate=strDate.replace('-','/');

//     用parse 时要注意,被转换时间字符串格式必须和转换器声明的格式一致

              date3 = dateFormat1.parse(strDate);

              System.out.println(date3);

   

          } catch (ParseException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

          }

       }

    }

 

 

演示结果:

 

Java 时间类型(1)

上一篇:java中获得时间及个别操作


下一篇:java中用stream进行取值