Java中SimpleDateFormat用法详解
publicclassSimpleDateFormatextendsDateFormat
SimpleDateFormat是一个以国别敏感的方式格式化和分析数据的具体类。它允许格式化(date->text)、语法分析(text->date)和标准化。
SimpleDateFormat允许以为日期-时间格式化选择任何用户指定的方式启动。但是,希望用DateFormat中的getTimeInstance、getDateInstance或getDateTimeInstance创建一个日期-时间格式化程序。每个类方法返回一个以缺省格式化方式初始化的日期/时间格式化程序。可以根据需要用applyPattern方法修改格式化方式。
SimpleDateFormat函数的继承关系:
Java.lang.Object | +----java.text.Format | +----java.text.DateFormat | +----java.text.SimpleDateFormat
下面是个小例子:
importjava.text.*;
importjava.util.Date;
/**
SimpleDateFormat函数语法:
G年代标志符
y年
M月
d日
h时在上午或下午(1~12)
H时在一天中(0~23)
m分
s秒
S毫秒
E星期
D一年中的第几天
F一月中第几个星期几
w一年中第几个星期
W一月中第几个星期
a上午/下午标记符
k时在一天中(1~24)
K时在上午或下午(0~11)
z时区
*/
publicclassFormatDateTime{
publicstaticvoidmain(String[]args){
SimpleDateFormatmyFmt=newSimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
SimpleDateFormatmyFmt1=newSimpleDateFormat("yy/MM/ddHH:mm");
SimpleDateFormatmyFmt2=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//等价于now.toLocaleString()
SimpleDateFormatmyFmt3=newSimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒E");
SimpleDateFormatmyFmt4=newSimpleDateFormat(
"一年中的第D天一年中第w个星期一月中第W个星期在一天中k时z时区");
Datenow=newDate();
System.out.println(myFmt.format(now));
System.out.println(myFmt1.format(now));
System.out.println(myFmt2.format(now));
System.out.println(myFmt3.format(now));
System.out.println(myFmt4.format(now));
System.out.println(now.toGMTString());
System.out.println(now.toLocaleString());
System.out.println(now.toString());
}
}
效果:
2004年12月16日17时24分27秒 04/12/1617:24 2004-12-1617:24:27 2004年12月16日17时24分27秒星期四
一年中的第351天一年中第51个星期一月中第3个星期在一天中17时CST时区
16Dec200409:24:27GMT
2004-12-1617:24:27
ThuDec1617:24:27CST2004
下面是个JavaBean:
publicclassFormatDateTime{
publicstaticStringtoLongDateString(Datedt){
SimpleDateFormatmyFmt=newSimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒E");
returnmyFmt.format(dt);
}
publicstaticStringtoShortDateString(Datedt){
SimpleDateFormatmyFmt=newSimpleDateFormat("yy年MM月dd日HH时mm分");
returnmyFmt.format(dt);
}
publicstaticStringtoLongTimeString(Datedt){
SimpleDateFormatmyFmt=newSimpleDateFormat("HHmmssSSSS");
returnmyFmt.format(dt);
}
publicstaticStringtoShortTimeString(Datedt){
SimpleDateFormatmyFmt=newSimpleDateFormat("yy/MM/ddHH:mm");
returnmyFmt.format(dt);
}
publicstaticvoidmain(String[]args){
Datenow=newDate();
System.out.println(FormatDateTime.toLongDateString(now));
System.out.println(FormatDateTime.toShortDateString(now));
System.out.println(FormatDateTime.toLongTimeString(now));
System.out.println(FormatDateTime.toShortTimeString(now));
}
}
调用的main测试结果:
2004年12月16日17时38分26秒星期四 04年12月16日17时38分 1738260965 04/12/1617:38
以上所述是小编给大家介绍的Java中SimpleDateFormat用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!