DateFormat类概述
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
我们通过这个类可以帮我们完成日期和文本之间的转换。
注意:
DateFormat类是抽象类,不能直接使用创建对象。我们使用的是他的子类SimpleDateFormat
指定格式的具体规则我们可参照SimpleDateFormat类的说明。规则是在一个字符串中,会将以下字母替换成对应时间组成部分,剩余内容原样输出:
- 当出现y时,会将y替换成年
- 当出现M时,会将M替换成月
- 当出现d时,会将d替换成日
- 当出现H时,会将H替换成时
- 当出现m时,会将m替换成分
- 当出现s时,会将s替换成秒
时间格式化的步骤:
- 调用有参构造方法创建SimpleDateFormat子类的对象,传入我们自定义的规则
- SimpleDateFormat子类对象,调用format(参数)方法,参数列表为日期对象,返回值为String
public static void formatDemo(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒"); String s = sdf.format(new Date()); System.out.println(s); // 2019年02月23日23时49分57秒 }
解析字符串,返回Date 对象(不建议用户输入)
Public static void format() throws Exception{ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");// 输入的格式要和自定义格式一样 Date date = sdf.parse("1985年11月08日23时11分2秒"); // 解析字符串返回成为new Date对象,不建议用户输入 风险太大。 System.out.println(date);//Fri Nov 08 23:11:02 CST 1985 }