下文笔者讲述Date对象转成喜欢的字符串格式
及自己喜欢的字符串格式转换为Date对象的方法分享
实现思路:
使用DateFormat对Date对象进行格式化。
DateFormat是一个抽象类
需使用DateFormat的子类 SimpleDateFormat SimpleDateFormat的构造方法:
SimpleDateFormat(String pattern):
创建一个SimpleDateFormat对象。参数pattern表示模式
模式指的就是转换的格式。
日期对应格式: 1999年11月11日 08点09分54秒 日期对应模式: yyyy年MM月dd日 HH点mm分ss秒。
要使用英语字母替换掉日期格式中的数字
y:表示年
M:表示月
d:表示日
H:表示时
m:表示分
s:表示秒
成员方法:
String format(Date date):
将一个Date对象根据给出的模式转成String
public class Demo01DateFormat {
public static void main(String[] args) {
//创建Date对象
Date date = new Date();
//1. 创建SimpleDateFormat对象,给出指定的模式
//希望转成的格式: 2022年10月18日 07点02分21秒
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒");
//希望转成的格式: 2022-10-18 07:02:21
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//2. 调用format方法,将Date对象转成字符串
String str = sdf.format(date);
System.out.println(str);
}
}
*
如果想要把一个字符串转成一个Date对象,同样也可以使用SimpleDateFormat去转换。
使用的是另一个方法
Date parse(String source): 将一个字符串转成一个Date对象。
注意:
1. 要转的这个字符串必须是一个能够解析的时间
2. 字符串的格式必须和SimpleDateFormat中的模式一致。
当调用parse方法时,下面会有一个红线,此时需要抛出一个异常, alt + 回车,选择第一个
总结:
Date对象转字符串:
调用SimpleDateFormat的format方法就可以了。 也叫作格式化。
字符串转Date对象
调用SimpleDateFormat的parse方法就可以了。 也叫作解析。
*/
public class Demo02DateFormat {
public static void main(String[] args) throws ParseException {
//创建字符串
String str = "2022-05-21 09:16:28";
//1. 创建一个SimpleDateFormat对象,指定一个模式。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//2. 调用parse方法,将字符串转成Date对象
Date date = sdf.parse(str);
//3. 打印
System.out.println(date);
}
}
使用SimpleDateFormat类,把2022-05-21转换为2022年05月21日。*/
//综合练习题。
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Exercise06 {
public static void main(String[] args) throws ParseException {
String str1="2022-05-21";//给定一个字符串日期
// //创建SimpleDateFormat对象sdf1,指定日期模式为yyyy-MM-dd
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date date= sdf.parse(str1);//字符串转成date对象类型
DateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日");
String str2= sdf2.format(date);//date类型转换成字符串
System.out.println(str2);
}
}