一:SimpleDateFomramt类的介绍
1.java.text.SimpleDateFormat
是日期/时间格式化类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
- 格式化:按照指定的格式,把Date对象转换为String对象。
- 解析:按照指定的格式,把String对象转换为Date对象。
2.由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat
。这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:
public SimpleDateFormat(String pattern)
:用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。
二:常用的格式规则
常用的格式规则为:
标识字母(区分大小写) | 含义 |
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
三:举例说明
1.日期的格式化
打印结果截图如下:
2.解析字符串
打印结果截图如下:
3.综合案例:
运行结果截图如下:
案例所有代码如下:
public static void main(String[] args) throws ParseException {
/*
public SimpleDateFormat() 默认格式
public SimpleDateFormat(String pattern) 指定格式
public final String format(Date date) 格式化(日期对象) --> 字符串)
public Date parse(String source) 解析(字符串->日期对象)
*/
//日期的格式化
//1.利用空参构造来创建SimpleDateFormat对象
SimpleDateFormat sdf1 = new SimpleDateFormat();
//2。创建一个Date对象
Date d1 = new Date();
//3.获取Date时间
long l1 = d1.getTime();
//4.利用SimpleDateFormat将时间格化为字符串的格式
String str = sdf1.format(d1);
//5.打印结果
System.out.println(str);
//1.利用有参构创建SimpleDateFormat对象,可以指定格式
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EE");
//2.利用SimpleDateFormat中的format方法来来格式化日期对象
String str2 = sdf2.format(d1);
System.out.println(str2);
//解析字符串
//1.定义一个字符串表示时间
String str3 = "2023年7月12日 13:10:23 周三";
//2.利用有参构造创建一个SimpleDateFormat对象,注意创建的格式要与字符串一致
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EE");
//3.利用parse方法将字符串形式的时间转换为时间格式,即为解析
Date d2 = sdf3.parse(str3);
System.out.println(d2);
/*假设:你朋友的出生年月日为:2002年7月5日
请用字符串表示这个数据,并将其转换为:2002-7-5
*/
//1.定义字符串表示初恋的出生年月日
String girlFriendBirthday = "2002年7月5日";
//2.创建SimpleDateFormat对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
//3.将字符串转换为日期对象(解析对象)
Date date = sdf.parse(girlFriendBirthday);//yyyy-MM-dd
//4.再次创建SimpleDateFormat对象
SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd");
//5.利用format来将日期对象格式化
String str4 = sdf4.format(date);
//打印初恋的的出生年月日
System.out.println("你的朋友的出生年月日为:" + str4);
}