1.java.text.SimpleDateFormat类
SimpleDateFormat对日期Date类的格式化和解析
1.两个操作:
1.1 格式化:日期 —>字符串
1.2 解析:格式化的逆过程,字符串 —> 日期
2.SimpleDateFormat的实例化:new + 构造器
下面展示一些 内联代码片
。
//*************按照指定的方式格式化和解析:调用带参的构造器*****************
// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//格式化
String format1 = sdf1.format(date);
System.out.println(format1);//2019-02-18 11:48:27
//解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数体现),
//否则,抛异常
Date date2 = sdf1.parse("2020-02-18 11:48:27");
System.out.println(date2);
练习题:三天打渔,两天晒网
下面展示一些 内联代码片
。
@Test
public void test1() throws ParseException {
SimpleDateFormat sql = new SimpleDateFormat("yy-MM-dd");
String str1 ="1990-01-01";
String str2 ="2020-09-08";
Date data1 = sql.parse(str1);
Date data2 = sql.parse(str2);
int mili = (int) ((data2.getTime() - data1.getTime()) / 86400000) + 1;
System.out.println("渔夫工作了" + mili +"天");
if (mili % 5 == 1 || mili % 5 ==2 || mili % 5 == 2){
System.out.println("渔夫在打渔");
}
else{
System.out.println("渔夫在晒网");
}
}
2.Calendar类:日历类,抽象类
下面展示一些 内联代码片
。
//1.实例化
//方式一:创建其子类(GregorianCalendar)的对象
//方式二:调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();
// System.out.println(calendar.getClass());
//2.常用方法
//get()
int days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
//set()
//calendar可变性
calendar.set(Calendar.DAY_OF_MONTH,22);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
//add()
calendar.add(Calendar.DAY_OF_MONTH,-3);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
//getTime():日历类---> Date
Date date = calendar.getTime();
System.out.println(date);
//setTime():Date ---> 日历类
Date date1 = new Date();
calendar.setTime(date1);
days = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);