一起Talk Android吧(第十九回:Java常用类之Date)

399 阅读3分钟

各位看官们,大家好,上一回中咱们说的是Java常用类String VS StringBuffer的例子,这一回咱们说的例子是Java常用类之Date。闲话休提, 言归正转。让我们一起Talk Android吧!

看官们,在程序中我们经常使用日期,比如获取当前系统的日期。Java把日期封装成了一个类,以方便我们使用,这个类便是Date。我们只需要实例化一个该类的对象,就可以输出当前系统中的日期。

伪代码为 Date date = new Date()。

我们只需要输出date就可以得到当前系统的日期和时间。该结果中包含了日期和时间,如果我们只需要日期或者时间时,可以使用getYear()或者getHours()等方法,不过新版本的JDK不推荐使用这些方法,我们还需要想其它的办法。此外,日期和时间的格式为:星期 月 日 小时 分 秒 年,该格式不太符合我们日常使用习惯,因此我们需要对它进行格式化处理。Java设计时也考虑到了这点,因此它还提供了专门的格式化日期类:DateFormat。通过该类,我们可以单独地获取日期或者时间,也可以对日期和时间进行格式化操作。

我们先看看DateFormat类提供的方法:

getDateInstance() //获取DateFormat类的对象,对象中只包含日期相关的格式
getTimeInstance() //获取DateFormat类的对象,对象中只包含时间相关的格式
getDateTimeInstance() //获取DateFormat类的对象,对象中包含日期和时间相关的格式
format(Date arg0); //通过DateFormat类的对象,格式化参数arg0中的日期和时间

这四个方法都是静态方法,我们可以通过DateFormat类直接调用它们。接下来我们通过具体的例子来说明如何使用它们:

import java.text.DateFormat;
import java.util.Date;

public class DateEx {

    public static void main(String args[])
    {
        Date date = new Date();

        System.out.println("Date: "+date);
        System.out.println("Year: "+date.getYear());  //it is not a good way
        System.out.println("Month: "+date.getMonth());  //it is not a good way
        System.out.println("Time: "+date.getHours());  //it is not a good way

        System.out.println("----- The formating date -----");
        System.out.println("Date: "+DateFormat.getDateInstance().format(date) );
        System.out.println("Time: "+DateFormat.getTimeInstance().format(date) );
        System.out.println("Date and Time: "+DateFormat.getDateTimeInstance().format(date) );
    }
}

下面是程序的运行结果,请大家参考:

Date: Tue Apr 25 19:36:35 CST 2017
Year: 117
Month: 3
Time: 19
----- The formating date -----
Date: 2017-4-25
Time: 19:36:35
Date and Time: 2017-4-25 19:36:35

从上面的程序结果中大家可以看到,只使用Date类对象输出的日期比较全面,不过日期格式不符合我们日常的习惯。如果要单独获取日期或者时间,还需要使用其它getXXX类型的方法,不过我们刚才也说了,不推荐使用这些方法。比如运行结果中的Year和Month就是错误的。使用DateFormat类后,我们可以获取符合日常习惯的日期和时间格式,而且也可以单独获取日期或者时间。这点从上面的程序运行结果可以看出来。

各位看官,关于Java常用类之Date的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!