学习笔记,仅供参考,有错必纠
DateFormat类
DateFormat类是java.text包下的一个类,使用该类时需要导包。
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
SimpleDateFormat类
SimpleDateFormat类是DateFormat类的子类。
构造方法
public SimpleDateFormat()
public SimpleDateFormat(String pattern)
- 举个例子
package com.guiyang.restudy3;
import java.text.SimpleDateFormat;
import java.util.Date;
public class D7SimpleDF {
public static void main(String[] args) {
Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat(); //创建日期格式化类对象
System.out.println(sdf.format(d));
}
}
输出:
20-6-27 上午9:00
成员方法
public final String format(Date date)
//继承自DateFormat类,将一个 Date 格式化为日期/时间字符串。
public Date parse(String source)
//继承自DateFormat类,从给定字符串的开始解析文本,以生成一个日期。该方法不使用给定字符串的整个文本。
- 日期和时间模式
字母 | 日期或时间元素 | 表示 | 示例 |
---|---|---|---|
G |
Era 标志符 | Text | AD |
y |
年 | Year | 1996 ; 96 |
M |
年中的月份 | Month | July ; Jul ; 07 |
w |
年中的周数 | Number | 27 |
W |
月份中的周数 | Number | 2 |
D |
年中的天数 | Number | 189 |
d |
月份中的天数 | Number | 10 |
F |
月份中的星期 | Number | 2 |
E |
星期中的天数 | Text | Tuesday ; Tue |
a |
Am/pm 标记 | Text | PM |
H |
一天中的小时数(0-23) | Number | 0 |
k |
一天中的小时数(1-24) | Number | 24 |
K |
am/pm 中的小时数(0-11) | Number | 0 |
h |
am/pm 中的小时数(1-12) | Number | 12 |
m |
小时中的分钟数 | Number | 30 |
s |
分钟中的秒数 | Number | 55 |
S |
毫秒数 | Number | 978 |
z |
时区 | General time zone | Pacific Standard Time ; PST ; GMT-08:00 |
Z |
时区 | RFC 822 time zone | -0800 |
- 举个例子
package com.guiyang.restudy3;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class D7SimpleDF {
public static void main(String[] args) throws ParseException {
Demo1();
String str = "2020年01月01日";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date d = sdf.parse(str); //将时间字符串转换成日期对象
System.out.println(d);
}
private static void Demo1() {
Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); //创建日期格式化类对象
System.out.println(sdf.format(d)); //88-6-6 下午9:31
}
}
注意,因为用parse方法将字符串转换为日期时,可能会出现异常情况(比如将"数学分析"转换为日期),所以,我们需要抛出异常。
输出:
2020年06月27日
Wed Jan 01 00:00:00 CST 2020