1.SimpleDateFormat是对日期Date类对格式化和解析
2.两个操作
(1)格式化:日期—>字符串
(2)解析:格式化对逆过程,字符串—>日期
日期和时间模式 | 结果 |
---|---|
“yyyy.MM.dd G ‘at’ HH:mm:ss z” | 2001.07.04 AD at 12:08:56 PDT |
“EEE, MMM d, ''yy” | Wed, Jul 4, '01 |
“h:mm a” | 12:08 PM |
“hh ‘o’‘clock’ a, zzzz” | 12 o’clock PM, Pacific Daylight Time |
“K:mm a, z” | 0:08 PM, PDT |
“yyyyy.MMMMM.dd GGG hh:mm aaa” | 02001.July.04 AD 12:08 PM |
“EEE, d MMM yyyy HH:mm:ss Z” | Wed, 4 Jul 2001 12:08:56 -0700 |
“yyMMddHHmmssZ” | 010704120856-0700 |
“yyyy-MM-dd’T’HH:mm:ss.SSSZ” | 2001-07-04T12:08:56.235-0700 |
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public static void main(String[] args) throws ParseException {
//实例化SimpleDateFormat
SimpleDateFormat simpleDateFormat=new SimpleDateFormat();
//格式化:日期--->字符串
Date date1=new Date();
System.out.println(date1);
String format=simpleDateFormat.format(date1);
System.out.println(format);
//解析:格式化对逆过程,字符串--->日期
SimpleDateFormat simpleDateFormat1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//格式化
String format1=simpleDateFormat1.format(date1);
System.out.println(format1);
//解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数来体现),否则会抛异常
Date date2=simpleDateFormat1.parse("2020-05-29 11:48:27");
System.out.println(date2);
}
3.举例:将字符串"2020-05-29"转换为"java.sql.Date"
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
String birth="2020-05-29";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date date=sdf.parse(birth);
java.sql.Date birthDate=new java.sql.Date(date.getTime());
System.out.println(birthDate);