1、Date类:表示特定的时间,精确到毫秒。
(1) 构造方法:
Date() : 根据当前的默认毫秒值创建日期对象
Date(long date) :根据给定的毫秒值创建日期对象
Date date = new Date(System.currentTimeMillis()) : 获取当前日期时间
(2) 常用方法
public long getTime() : 获取时间,以毫秒值为单位
public long setTime(long time) : 设置时间,形参是 毫秒值,在1970.1.1的基础上加上毫秒值
2、DateFormat类: 可以进行日期和字符的格式化和解析,但是由于是抽象类,所以使用具体子类SimpleDateFormat
Date ——>String 格式化
String ——>Date 解析
(1) SimpleDateFormat的构造方法
SimpleDateFormat() :采用默认模式
SimpleDateFormat(String pattern) :给定模式,自定义
模式写法:
年 y
月 M
日 d
时 H
分 m
秒 s
例如:2017年12月12日 12:12:12
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss”) ;
(2)常用方法
<1> Date ——> String 格式化日期
public final String format(Date date)
//例如:
Date d = new Date() ;
//创建给定模式的格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss") ;
String s = sdf.format(d) ;
<2>String ——> Date 解析日期
public Date parse(String s) ;
//例如:
String str = "2017-06-07 15:26:34" ;
//在把一个字符串解析为日期的时候,要注意模式必须和给定的字符串的格式相同!
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
Date d = sdf.parse(str) ;
3、创建一个时间日期类的工具类
/**
* 这是日期和字符串相互转换的工具类
*
* @author 风清扬
*/
public class DateUtil {
private DateUtil() {
}
/**
* 这个方法的作用就是把日期转成一个字符串
*
* @param d
* 被转换的日期对象
* @param format
* 传递过来的要被转换的格式
* @return 格式化后的字符串
*/
public static String dateToString(Date d, String format) {
// SimpleDateFormat sdf = new SimpleDateFormat(format);
// return sdf.format(d);
return new SimpleDateFormat(format).format(d);
}
/**
* 这个方法的作用就是把一个字符串解析成一个日期对象
*
* @param s
* 被解析的字符串
* @param format
* 传递过来的要被转换的格式
* @return 解析后的日期对象
* @throws ParseException
*/
public static Date stringToDate(String s, String format)
throws ParseException {
return new SimpleDateFormat(format).parse(s);
}
}