1.Date类概述

java.util.Date ;类表示特定的瞬间,精确到毫秒。

查阅Date类的描述,发现Date拥有多个构造器,只是大部分已经过时,但是其中有未过时的构造器可以把毫秒值转成日期对象。

  • public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
  • public Date(long):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GTM)以来的指定毫秒数。

简单来说:使用无参构造,可以自动设置当前系统时间的毫秒时刻;指定long类型的构造函数,可以自定义毫秒时刻。例如:

import java.util.Date;

public class Demo01Date {
    public static void main(String[] args) {
        // 创建日期对象,把当前的时间
        System.out.println(new Date()); // Sun Jan 27 21:01:10 GMT+08:00 2019
        // 创建日期对象,把当前的毫秒值转成日期对象
        System.out.println(new Date(0L)); // Thu Jan 01 08:00:00 GMT+08:00 1970
    }
}

tip:在使用println方法时,会自动调用Date类中的toString方法。Date类对Object类中的toString方法进行了覆盖重写,所以结果为指定格式的字符串。

常用方法

Date类中的多数方法已经过时,常用的方法有:

public long getTime() 把日期对象转换成对应的时间毫秒值。

2.DateFormat类

java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也可以在Date对象与String对象之间进行来回转换。

  • 格式化:按照指定的格式,从Date对象转换成String对象。
  • 解析:按照指定的格式,从String对象转换成Date对象。

构造方法

由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat。这个类需要一个模式来指定格式化或解析的标准。构造方法为:

  • public SimpleDateFormat(String pattern):用给定的模式和默认的语言环境的日期格式符号构造SimpleDateFormat。

参数pattern是一个字符串,代表日期时间的自定义格式。

格式规则

常用的格式规则为:

tip:更详细的格式规则,可以参考SimpleDateFormat类的API文档

标识字母(区分大小写) 含义
y
M
d
H
m
s

 

常用方法

DateFormat类的常用方法:

  • public String format(Object obj):可以将接收的Date对象格式化为字符串。(该方法同时可以接收时间毫秒值
  • public Date parse(String source):将字符串解析为Date对象。

 

SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd")
   //将当前日期转换为字符串
   String s = df1.format(new Date());
   System.out.println("---------------------------------------------");
   //将字符串转换为日期对象
   SimpleDateFormat df2 = new SimpleDateFormat("yyyy/MM/dd")
   Date d = df2.parse("1949/10/01")
   System.out.println("---------------------------------------------");
    //将时间毫秒值转换成日期对象
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
    Date d1 = new Date();
    String str = sdf.format(d1.getTime);

  

注意:使用psrse方法把字符串解析为Date对象时,被解析字符串的格式必须与DateFormat对象中的格式相同!

如以上代码中的被解析的字符串“1949/10/01”对应的日期格式为“yyyy/MM/dd”

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!