Java常用API(4)----Date类

                                                                                                                                                                           点击此处返回总目录

一、Date类

Date 表示特定的瞬间,精确到毫秒。1秒=1000毫秒。

注意:是使用的util包下面的Date,不是sql包下面的Date。

二、毫秒值的概念

System.currentTimeMilis()            //方法返回long类型值,获取当前时间的毫秒值。System类在Java中不需要导包。得到的数是从公元                                                       1970年1月1日00:00:00到当前时间过了多少毫秒。

注意:时间和日期的计算必须依赖毫秒值,所以很重要。

例1:获取当前时间的毫秒值

package dateDemo;

public class Test {
    public static void main(String[] args) {
        long t = System.currentTimeMillis();
        System.out.println(t);                         //1534211981051
    }
}

三、Date类的构造方法

1. public Date()               //空参构造器。获取到的是当前操作系统中的时间和日期。如果把电脑上的日期改了,那么得到的时间也会相                                           应改变。【例1】

2. public Date(long date)   //有参构造函数。传入的是毫秒值,将毫秒值转化成对应的日期对象。【例2】

例1:

package dateDemo;

import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);   //Tue Aug 14 10:19:14 CST 2018。输出的不是地址,说明 Date类重写过toString()。
                                                  //输出意义:周二  8月 14日  china stand time 
    }
}

例2:

package dateDemo;

import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Date date = new Date(0);
        System.out.println(date);   //Thu Jan 01 08:00:00 CST 1970 。有8个小时的时差。
    }
}

四、Date类的常用方法

1. public long getTime()                    //将Date表示的日期转成毫秒值。【例1】

2. public void setTime(long time)      //将Date对象的日期切换到毫秒值对应的日期。跟有参构造器效果相同。【例2】

例1:把Date表示的时间转化成毫秒值。

package dateDemo;

import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);                  //Tue Aug 14 10:49:01 CST 2018
        long t1 = date.getTime();
        System.out.println(t1);                      //1534214941925。把date的时间转化成毫秒值。
        
        long t2=System.currentTimeMillis();
        System.out.println(t2);                      //1534214941947。说明这几句代码运行了22毫秒。
    }
}

例2:将Date对象的日期切换到毫秒值对应的日期。

package dateDemo;

import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Date date = new Date(0);
        System.out.println(date);            //Thu Jan 01 08:00:00 CST 1970
        
        long t1 = System.currentTimeMillis();
        date.setTime(t1);                        //将data的日期切换到t1对应的日期。
        System.out.println(date);            //Tue Aug 14 11:00:06 CST 2018
    }
}

五、DateFormat类、SimpleDateFormat类

日期格式化,变成我们想要的格式。在java.text包下面。

java.text.DateFormat类是一个抽象类。里面既有抽象方法,又有非抽象方法。实际中我们需要使用其子类java.text.SimpleDateFormat来创建对象。

六、SimpleDateFormat类的常用方法

1. public final String format(Date date)             //将一个 Date 格式化为日期/时间字符串。 

2. public Date parse(String source)                  //将字符串转成日期对象

1. format()方法的使用

如何对日期格式化:

       步骤1:创建SimpleDateFormat对象

                    在类的构造方法中,写入字符串的日期格式(自己定义)

       步骤2:SimpleDateFormat调用方法format对日期进行格式化

                    String format(Date date) 传递对象,返回字符串

日期格式:

       yyyy      年份

       MM        月份

       dd          月中的天数

       HH          0-23小时

       mm         分

       ss           秒

            

例:对日期进行格式化

package dateFormatDemo;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");        //步骤1
        String date =sdf.format(new Date());                                                                                     //步骤2
        System.out.println(date);                        //2018年08月14日 14时28分20秒
    }
}

2. parse()方法的使用

如何将字符串转化成Date对象:

       步骤1:创建SimpleDateFormat对象

                   构造方法中,指定日期格式

       步骤2:对象调用parse(),传递String,返回Date。

例:

package dateFormatDemo;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
    public static void main(String[] args) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日,HH时mm分ss秒");     //步骤1
        Date date = sdf.parse("2018年08月14日,14时28分20秒");             //步骤2
        System.out.println(date);                                                                   //Tue Aug 14 14:28:20 CST 2018
    }
}

 

猜你喜欢

转载自blog.csdn.net/pengchengliu/article/details/81660885