/* * 这是一个日期处理Date类的应用程序,通过程序的运行结果发现Date类的日期显示格式可读性
* 差,不符合我们中国人的阅读习惯,那么接下来我们引入SimpleDateFormat类,这个类主要实现
* 了日期的格式化显示,可以根据用户标记的格式对日期做格式化。
* 1. 日期实现格式化的关键在于日期格式转化为字符串,此转化操作是通过SimpleDateFormat的实例化对象
* sdf调用DateFormat类的format()方法实现的
* 2. 字符串转化为日期,SimpleDateFormat类的实例化对象sdf调用DateFormat类的parse()方法实现的
import java.util.Date;
import java.text.SimpleDateFormat;
class MyDate{
public Date now; //声明全局Date对象
public SimpleDateFormat sdf;
//Date类实现方法
public void getDate(){
now = new Date(); //实例化Date对象
System.out.println("【当前时间:"+" " + now + "】");
}
//引入SimpleDateFormat类后的实现方法,将日期转化为字符串输出
public void getDate2str(){
now = new Date(); //实例化Date对象
//实例化SimpleDateFormat对象并标记日期格式
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
//dsf对象调用format()方法将日期转化为字符串,将日期对象传给format()方法实现转换操作
String str = sdf.format(now);
System.out.println("【当前时间:"+" " + str + "】");
}
//字符串转化为Date日期
public void getStr2date() throws Exception{
String str = "2018-06-11 15:02:04.015";
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date now = null;
try{
//将字符串转化为日期,通过sdf对象调用parse()方法,将str传给该方法来实现转化
now = sdf.parse(str);
}catch (Exception e){
e.printStackTrace();
}finally{
System.out.println("【当前时间:" + " " + now + "】");
}
}
}
public class DateTest{
public static void main(String[] args) throws Exception{
MyDate md = new MyDate();
md.getDate(); //运行结果:【当前时间: Mon Jun 11 14:35:28 CST 2018】
MyDate simpleA = new MyDate();
simpleA.getDate2str(); //运行结果:【当前时间: 2018-06-11 15:02:04.015】完全按照我们标记的格式显示 MyDate simpleB = new MyDate();
simpleB.getStr2date(); //运行结果:【当前时间: Mon Jun 11 15:02:04 CST 2018】
}
* 差,不符合我们中国人的阅读习惯,那么接下来我们引入SimpleDateFormat类,这个类主要实现
* 了日期的格式化显示,可以根据用户标记的格式对日期做格式化。
* 1. 日期实现格式化的关键在于日期格式转化为字符串,此转化操作是通过SimpleDateFormat的实例化对象
* sdf调用DateFormat类的format()方法实现的
* 2. 字符串转化为日期,SimpleDateFormat类的实例化对象sdf调用DateFormat类的parse()方法实现的
* 3. 最后来说明SimpleDateFormat类的继承结构:Format——>DateFormat——>SimpleDateFormat;
**/import java.util.Date;
import java.text.SimpleDateFormat;
class MyDate{
public Date now; //声明全局Date对象
public SimpleDateFormat sdf;
//Date类实现方法
public void getDate(){
now = new Date(); //实例化Date对象
System.out.println("【当前时间:"+" " + now + "】");
}
//引入SimpleDateFormat类后的实现方法,将日期转化为字符串输出
public void getDate2str(){
now = new Date(); //实例化Date对象
//实例化SimpleDateFormat对象并标记日期格式
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
//dsf对象调用format()方法将日期转化为字符串,将日期对象传给format()方法实现转换操作
String str = sdf.format(now);
System.out.println("【当前时间:"+" " + str + "】");
}
//字符串转化为Date日期
public void getStr2date() throws Exception{
String str = "2018-06-11 15:02:04.015";
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date now = null;
try{
//将字符串转化为日期,通过sdf对象调用parse()方法,将str传给该方法来实现转化
now = sdf.parse(str);
}catch (Exception e){
e.printStackTrace();
}finally{
System.out.println("【当前时间:" + " " + now + "】");
}
}
}
public class DateTest{
public static void main(String[] args) throws Exception{
MyDate md = new MyDate();
md.getDate(); //运行结果:【当前时间: Mon Jun 11 14:35:28 CST 2018】
MyDate simpleA = new MyDate();
simpleA.getDate2str(); //运行结果:【当前时间: 2018-06-11 15:02:04.015】完全按照我们标记的格式显示 MyDate simpleB = new MyDate();
simpleB.getStr2date(); //运行结果:【当前时间: Mon Jun 11 15:02:04 CST 2018】
}
}
特别提示:最后需要说明的是,使用字符串装化为日期的方法parse()时,必须使用异常机制,不然执行过程中会报错;
运行结果截图: