(JAVA)SimpleDateFormat使用示例
1.示例一
SimpleDateFormat的功能是格式化时间,获取电脑显示的当前时间后按照指定格式输出。也可以输入时间字符串,反解析。示例程序如下:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
// 获取当前时间并按照指定格式显示
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
//格式化:从Date到String
Date d = new Date(); //新建Date对象,获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat(); //新建SimpleDateFormat对象,使用无参构造
//新建SimpleDateFormat对象,使用带参构造,输出的格式作为参数
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(d);
System.out.println("直接和获取的时间为:"+d);
System.out.println("默认格式化后:"+s);
System.out.println("指定格式化后:"+sdf2.format(d));
//解析:即输入时间字符串,解析成系统获取时的格式
String ss = "2020年09月09日 08:08:08";
Date dd = sdf2.parse(ss);
System.out.println("解析后:"+dd);
}
}
2.示例二、将格式化和解析包装成一个类
将示例一中的两个方法包装成一个类
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*DateUtil中包含两个方法:
1.将*/
public class DateUtil {
private DateUtil(){
};//无参构造
//获取当前时间并按照指定格式输出
public static String dateToString(Date date, String format){
SimpleDateFormat sdf = new SimpleDateFormat(format);
String s = sdf.format(date);
return s;
}
//输出解析格式,将时间字符串解析
public static Date StringToDate(String s,String format) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date dd = sdf.parse(s);
return dd;
}
}
在主程序中调用
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
// 获取当前时间并按照指定格式显示
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
//格式化:从Date到String
Date d = new Date(); //新建Date对象,获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat(); //新建SimpleDateFormat对象,使用无参构造
//新建SimpleDateFormat对象,使用带参构造,输出的格式作为参数
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(d);
System.out.println("直接和获取的时间为:"+d);
System.out.println("默认格式化后:"+s);
System.out.println("指定格式化后:"+sdf2.format(d));
//解析:即输入时间字符串,解析成系统获取时的格式
String ss = "2020年09月09日 08:08:08";
Date dd = sdf2.parse(ss);
System.out.println("解析后:"+dd);
}
}
输出结果如下: