JAVA学习笔记——时间日期类Date和SimpleDateFormat类

时间:2022-01-12 15:40:47

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);
}
}