天天看点

Java中常用的类(二):Date类、DateFormat类、Calendar类

​目录​

​​一、Date 类​​

​​1、Date 类构造函数​​

​​2、Date 类常用方法​​

​​二、DateFormat 类​​

​​1、DateFormat 类构造方法​​

​​2、DateFormat 类常用方法​​

​​三、Calendar 类​​

一、Date 类

Data 类表示特定的瞬间,精确到毫秒,使用Data类来表示当前系统时间

1、Date 类构造函数

  • public Date():系统当前日期时间
  • public Date(long date):得到一个1970年1月1日0点这个时间基础上,加上参数 date 毫秒值对应的日期时间

2、Date 类常用方法

  • public long getTime():获取日期所对应的毫秒值

逻辑实例:

public static void main(String[] args)
{
    Date d1 = new Date();    //获取系统当前日期
    System.out.println(d1);  //直接打印对象实际是调用了toString方法,在Date类中对toString方法进行了重写
    Date d2 = new Date(345234554L);    //获取从1970年1月1日0点开始,加上date毫秒值的日期时间
    System.out.println(d2);
    Date d3 = new Date();
    long time = d3.getTime();   //获取日期所对应的毫秒
    System.out.println(time);
}      

二、DateFormat 类

DateFormat 类是日期时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间,可以通过这个类来完成日期和文本之间的转换,对于月、星期、甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。DateFormat 是抽象类,要通过其子类 SimpleDateFormat 来创建对象

1、DateFormat 类构造方法

  • public SimpleDateFormat():默认的格式化操作
  • public SimpleDateFormat(String pattern):按照指定格式进行日期格式化

    y:年

    M:年中的月份

    d:月份中的天数

    H:一天中的小时数

    m:小时中的分钟数

    s:分钟中的秒数

    S:毫秒数

2、DateFormat 类常用方法

  • public final String format(Date date):把日期格式转换成字符串
  • public Date parse(String source):把日期字符串转换成日期对象

逻辑实例:

//format()把Date对象转换成String
Date d = new Date();
DateFormat df = new SimpleDateFormat(“yyyy年MM月dd日”);
String str = df.format(d);
//parse()把String对象转换成Date
String str = "2019年6月15日";
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
Date date = df.parse(str);      

三、Calendar 类

Calendar 为抽象类,表示日历类,在 Date 后出现,替换掉了许 Date 的方法,该类将所有可能用到的实践信息封装为静态成员变量,方便获取。由于语言敏感性,Calendar 类在创建对象时并非直接创建,而是通过静态方法创建,将敏感语言处理好再返回子类对象。

  • public static Calendar getInstance():获取日期对象
  • public int get(int field):获取时间字段值
  • public void add(int field,int amount):指定字段增加某值
  • public final void set(int field,int value):设置指定字段的值
  • public final Date getTime():获取该日历对象转成的日期对象
public static void main(String[] args)
{
    Calendar c = Calendar.getInstance();
    System.out.println(c.get(Calendar.YEAR));   //获取年份
    c.add(Calendar.HOUR,3);     //修改时间为3小时后
    System.out.println(c.getTime());    //获取日历对象转成的日期对象
    c.set(Calendar.HOUR,18);    //设置指定字段的值
    System.out.println(c.getTime());
}      

继续阅读