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

it2026-03-01  5

SimpleDateFormat 继承DateFormat类,始于jdk1.4

G 年代标志符 、y 年 、M 月 、d 日 、h 时 在上午或下午 (1~12) 、H 时 在一天(0~23)  m 分 、s 秒 、S 毫秒 、E 星期 、D 一年中的第几天 、F 一月中第几个星期几 、w 一年中第几个星期 、W 一月中第几个星期 、a 上午 / 下午 标记符 、k 时 在一天中(1~24)  K 时 在上午或下午 (0~11) 、z 时区 

注意:大小写是区分的,含义有可能不一样

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

 

 

 

最新回复(0)