SimpleDateFormat的使用
概况:
jdk 8之前的日期时间的API测试
需要学习以下四个:
- System类中currentTimeMillis(); (已学)
- java.util.Date和子类java.sql.Date (已学)
- SimpleDateFormat (本节)
- Calendar (未学)
SimpleDateFormat的两个操作:
- 格式化:日期—>字符串
- 解析:格式化的逆过程,字符串—>日期
SimpleDateFormat的实例化:
1. 实例化SimpleDateFormat:使用默认构造器(不常用)
通常不用这种!
package com.cyl.Date;
import org.junit.Test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeTest {
/*
SimpleDateFormat的使用: SimpleDateFormat对日期Date类的格式化和解析
*/
@Test
public void testSimpleDateFormat() throws ParseException {
//实例化SimpleDateFormat:使用默认构造器
SimpleDateFormat sdf = new SimpleDateFormat();
//格式化: 日期--->字符串
Date date = new Date();
System.out.println(date);
String format = sdf.format(date);
System.out.println(format);
//解析:格式化的逆过程,字符串--->日期
String str = "21-8-10 下午7:53"; //开发中不常用,因为不灵活
Date date1 = sdf.parse(str);
System.out.println(date1);
}
}
结果
2. 按照指定的方式格式化和解析:调用带参的构造器(常用)
这种常用
package com.cyl.Date;
import org.junit.Test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeTest {
/*
SimpleDateFormat的使用: SimpleDateFormat对日期Date类的格式化和解析
*/
@Test
public void testSimpleDateFormat() throws ParseException {
Date date = new Date();
System.out.println(date);
// 一个形式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa");
String format1 = sdf1.format(date);
System.out.println(format1);
//另一个形式
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format2 = sdf2.format(date);
System.out.println(format2);
//解析:格式化的逆过程,字符串--->日期
//要求字符串必须符合SimpleDateFormat识别的格式(通过构造器参数体现)
Date date2 = sdf2.parse("2021-08-10 08:29:37");
System.out.println(date2);
}
}
结果
API参考
例如这种:
即为: 年月日,时分秒