日期类
一、Date 类
1.概述
java.util.Date类 用于描述 日期和时间 的类型,可以描述 年、月、日、时、分、秒 的信息
2.常用方法
Date() -使用当前系统时间来构造对象
Date(long date) -使用参数指定的毫秒数来构造对象 【从 1970-01-01 00:00:00 秒 到 指定日期的毫秒数】
long getTime() -获取调用对象距离1970-01-01 00:00:00 秒之间的毫秒数
void setTime(long time) -将参数指定的毫秒数设置到当前调用对象中
二、SimpleDateFormat 类
1. 概述
java.text.SimpleDateFormat 类 用于格式化 和 解析日期数据。
2.常用方法
SimpleDateFormat(String pattern) -根据参数指定的日期格式构造对象:日期格式中:y-年 M-月 d-日 H-时 m-分 s-秒
String format(Date date) -用于将参数指定的日期对象格式化字符串并返回
Date parse(String source) -将字符串转换为Date类型的对象
三、 Calendar 类 (抽象类)
1. 概述
java.util.Calendar类是一个抽象类,有构造方法。但是不能构造/实例化对象
该类可以为Date类 构造 指定年月日时分秒的日期对象
2.常用方法
static Calendar getInstance( ) -静态方法,使用 类名. 的方式调用该方法可以得到本类的对象
void set(int year, int month, int hourOfDay, int minute, int second)
-根据参数指定的年月日时分秒来指定调用对象中的日期和时间信息。月份数-1 作为实参传递给该方法。
Date getTime( ) -用于转换为Date类型的对象并返回。
代码演示:
package com.monkey1037; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateTest { public static void main(String[] args) throws Exception { // 使用无参的方式:使用当前系统时间,构造日期类型的对象, Date date = new Date(); System.out.println("方式一:无参方法,打印当前系统时间:"+date); // 获取当前时间距离1970年之间的毫秒数 long msec = date.getTime(); // 使用有参的方式:使用当前系统时间,构造日期类型对象。 实参插入一个long类型的对象 date = new Date(msec); System.out.println("方式二:有参方法,打印当前系统时间:"+date); // 设置日期的输出格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 将参数指定的日期转换为 指定格式的字符串 String str = sdf.format(date); // 打印设置格式后的日期 System.out.println("设置格式后的日期: "+str); // 将字符串形式的日期信息转换日期类型 date = sdf.parse(str); System.out.println("将字符串形式的日期信息 转换成 日期类型: "+date); System.out.println(); // 使用指定的年月日时分秒 来构造日期类型的对象: // 1.获取 Calendar类型的对象 Calendar c = Calendar.getInstance(); // 2.调用set()方法设置年月日时分秒信息 c.set(2008,7,8,20,8,8); // 3.调用getTime()方法得到Date类型的对象 date = c.getTime(); // 4.打印设置格式后的指定日期 System.out.println("打印设置格式后的指定日期: "+sdf.format(date)); } }
结果:
方式一:无参方法,打印当前系统时间:Sun Oct 27 06:54:19 CST 2019 方式二:有参方法,打印当前系统时间:Sun Oct 27 06:54:19 CST 2019 设置格式后的日期: 2019-10-27 06:54:19 将字符串形式的日期信息 转换成 日期类型: Sun Oct 27 06:54:19 CST 2019 打印设置格式后的日期: 2008-08-08 20:08:08