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

256 阅读3分钟

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

看官们,上一回中我们介绍了日期相关的类:Date和DateFormat。其实还有一个与日期相关的类,只是限于时间的原因,我们没介绍,今天我们将接着上一回的内容,继续介绍与日期相关的类SimpleDateFormat。下面是与该类相关的方法以及它们的用法,请大家参考:

SimpleDateFormat(String format) //用来自定义格式,格式的内容通过参数format来设定,例如:yyyy-MM-dd 
//HH:mm:ss表格年-月-日 小时:分:秒。可以依据需要自己定义日期的格式
Date parse(String date) throws ParseException //把String类型的日期转换为Date类型的日期,注意处理异常
String format(Date date)  //把Date类型的日期转换为String类型的日期

接下来我们通过具体的代码来演示如何使用SimpliDateFormat类及其提供的方法.

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

public class DateEx {

    public static void main(String args[])
    {
        String strDate= "2017/04/25 19:36:35";
        String dateFormat1 = "yyyy/MM/dd HH:mm:ss";
        //String dateFormat2 = "yyyy-MM-dd HH:mm:ss"; //wrong format, and yyyy MM dd HH:mm:ss is also wrong. 
        Date selfDate = null;

        SimpleDateFormat simpDate1 = new SimpleDateFormat(dateFormat1);
        try{
            selfDate = simpDate1.parse(strDate); 
        }catch(ParseException e){
            e.printStackTrace();
        }
        System.out.println(selfDate);   
        System.out.println(simpDate1.format(selfDate));         
    }
}

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

Tue Apr 25 19:36:35 CST 2017 //从格式中就可以看出来这是Date类型的日期
2017/04/25 19:36:35

结合上面的程序和该程序运行结果,我们可以看到原来为String类型的日期被parse()方法转换成了Date类型的日期,与此相反我们也可以使用format()方法把Date类型的日期转换为String类型的日期。这种日期类型的相互转换在程序中经常使用,遇到这种情况时大家不要忘记SimpleDateFormat类和它的方法呀。

关于上面的代码,我再做一些补充说明:我们在给SimpleDateFormat类指定日期格式时,需要和String类型的日期格式保持一致,也就是说日期中的排列顺序以及分隔形式和格式中的排列顺序以及分隔形式保持一致,不然会有异常发生(对格式要求比较严格)。大家只要明白一点就行:日期是原始的数据,我们只是转换一下该数据的类型,我们在转换时只能修改数据的格式,不能修改原始数据。

最后,我们对日期相关的类做一个总结:

  • Date类获取到的是完整的日期和时间信息,不过日期格式不符合我们日常使用习惯。
  • DateFormat类可以单独获取日期或者时间信息,而且还可以修改日期的格式,使其符合我们日常的习惯
  • SimpleDateFormat可以看作是对日期格式化的扩展,它可以自定义日期的格式,并且对日期进行类型转换。

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