日期的格式化与解析
-
格式化:将字符串格式转化为日期格式(String -》Date)
//**********照指定的方式格式化和解析:调用带参的构造器 SimpleDateFormat sdf1 = new SimpleDateFormat(“yyyyy.MMMMM.dd GGG hh:mm aaa”);
SimpleDateFormat sdf1 = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
//格式化 调用format方法:
String format1 = sdf1.format(date);
System.out.println(format1);//2019-02-18 11:48:27
/ -
解析:将日期格式转化为字符串格式(Date -》 String)
调用parse方法:
解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数体现),
否则,抛异常
Date date2 = sdf1.parse(“2020-02-18 11:48:27”);
System.out.println(date2);
小练习:
练习一:字符串"2020-09-08"转换为java.sql.Date
@Test
public void testExer() throws ParseException {
String birth = "2020-09-08";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf1.parse(birth);
// System.out.println(date);
java.sql.Date birthDate = new java.sql.Date(date.getTime());
System.out.println(birthDate);
}
练习二:“天打渔两天晒网” 1990-01-01 xxxx-xx-xx 打渔?晒网?
举例:2020-09-08 ? 总天数
总天数 % 5 == 1,2,3 : 打渔
总天数 % 5 == 4,0 : 晒网
总天数的计算?
方式一:( date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24) + 1
方式二:1990-01-01 --> 2019-12-31 + 2020-01-01 -->2020-09-08