案例:日期工具类
需求:定义一个日期工具类(DateUtils),包含两个方法:把日期转换为指定格式的字符串;把字符串解析为指定格式的日期, 然后定义一个测试类,测试日期工具类的方法
思路: 1、定义日期工具类(DateUtils) 2、定义一个方法dateToString,用于把日期转换为指定格式的字符串 (1)返回值类型:String (2)参数:date date,String format 3、定义一个方法stringToDate,用于字符串解析为指定格式的日期 (1)返回值类型:Date (2)参数:String s,String format 4、定义测试类,调用日期工具类中的方法
日期工具类的练习
x
package ch12;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class a_15_1DateUtils {
//对于工具类,构造方法私有
private a_15_1DateUtils(){} //作用是使外界无法创建对象
//---------------------------------------------------------------------------------------------------------
/*把日期转为指定格式的字符串
返回值类型:String
参数:Date date, String format*/
//对于工具类,成员方法静态
//用static静态修饰,作用是在外面的测试类可以通过类名调用这里的成员方法。返回值类型是String。把日期转为String
//下面那行的Date报错,原因:没导包,选中Date,按Alt+Enter,点击Import class,再点击Date(java.util),即可解决
public static String dateToString(Date date, String format) { //按照指定的格式String format,得到日期对象Date date
SimpleDateFormat sdf = new SimpleDateFormat(format);
String s = sdf.format(date); //把date日期转为指定格式format的字符串s
return s; //返回字符串
}
//----------------------------------------------------------------------------------------------------------
/*把字符串解析为指定格式的日期
返回值类型:Date
参数:String s, String format*/
//对于工具类,成员方法静态
//下面那行的throws ParseException是抛出异常的意思,是由于我们要处理36行那里的报错,选的处理方案
public static Date stringToDate(String s, String format) throws ParseException {
SimpleDateFormat sdf2 = new SimpleDateFormat(format);
Date d = sdf2.parse(s); //这行的parse会报错,解决:选中parse,按Alt+Enter,再选第一个Add.....处理方案
return d;
}
}
//--------------------------------------------------------------------------------------------------------------
//这个是工具类,需要在测试类里面调用这里的方法,进行测试运行。这个工具类不做运行
xxxxxxxxxx
package ch12;
import java.text.ParseException;
import java.util.Date;
public class a_15_2测试 {
public static void main(String[] args) throws ParseException {
//先创建日期对象
Date d = new Date();
//调用工具类(即a_15_1DateUtils类)的dateToString方法
String s1 = a_15_1DateUtils.dateToString(d, "yyyy年MM月dd日 HH:mm:ss"); //指定格式
System.out.println(s1); //输出2022年10月01日 16:52:54
//下面那行也是上面那种
String s2 = a_15_1DateUtils.dateToString(d, "yyyy年MM月dd日"); //指定格式
System.out.println(s2);
//下面那行也是上面那种
String s3 = a_15_1DateUtils.dateToString(d, "HH:mm:ss"); //指定格式
System.out.println(s3);
System.out.println("-----------------");
//上面验证的是工具类(即a_15_1DateUtils类)的dateToString方法
//------------------------------------------------------------------------------------------------------
//下面验证的是工具类(即a_15_1DateUtils类)的stringToDate方法
//先创建一个日期字符串
String s = "2022-05-20 12:12:12"; //假设拿到一个日期字符串,要把这个日期字符串解析为我们想要的format格式
//下面那行的stringToDate会报错,解决:选中stringToDate,按Alt+Enter,再选第一个Add.....处理方案
Date dd = a_15_1DateUtils.stringToDate(s, "yyyy-MM-dd HH:mm:ss"); //这行的format格式要跟上一行相对性,不然解析不了
System.out.println(dd);
}
}