Java-SimpleDateFormat类
概述
DateFormat与SimpleDateFormat类
DateFormat本身是一个抽象类,SimpleDateFormat类是DateFormat类的子类,一般来说DateFormat类很少直接使用,一般都使用SimpleDateFormat类完成。
DateFormat 的作用是 格式化并解析“日期/时间”。实际上,它是Date的格式化工具,它能帮助我们格式化Date,进而将Date转换成我们想要的String字符串供我们使用
不过DateFormat的格式化Date的功能有限,没有SimpleDateFormat强大;但DateFormat是SimpleDateFormat的父类 。
参数中对应的字符意义如下:
y:年
M:月
d:日
h:时
m:分
s:秒
格式化
格式化指的是将储存日期的类转化为字符串记录的日期的形式,这里主要指Date类转化为String类。
格式化主要靠调用format(Date date)方法,该方法按format指定的格式将Date对象转化为一个String对象,并返回这个String对象的引用。
方法使用:
Date date = new Date();//创建一个Date对象
SimpleDateFormat adf1 = new SimpleDateFormat("yyyy-HH-dd HH:mm:ss:SSS E");
String strdate = adf1.format(date);//格式化,按指定格式
System.out.println(strdate);
解析
解析是格式化的逆过程,指的是将表示日期的字符串转化为记载日期的类,这里指的是util.Date类。
解析主要依靠parse(String source)方法,返回一个Date对象的引用,同时会抛ParseException异常。
使用方法:
String birthday = "1999-28-09";
SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd");//指定格式
//可以trycatch,也可以选择抛出
try {
Date d = sfd.parse(birthday);//把字符串转为日期对象
System.out.println(d);
} catch (ParseException e) {
e.printStackTrace();
}
代码演示
public class SimpledateformatDemo {
public static void main(String[] args) {
String birthday = "1999-28-09";
SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd");//指定格式
try {
Date d = sfd.parse(birthday);//把字符串转为日期对象
System.out.println(d);
} catch (ParseException e) {
e.printStackTrace();
}
Date date = new Date();
SimpleDateFormat adf1 = new SimpleDateFormat("yyyy-HH-dd HH:mm:ss:SSS E");
String strdate = adf1.format(date);
System.out.println(strdate);
}
}