抽象类DateFormat以及它的子类实体类SimpleDateFormat。这两个类都位于java.text包中,是专门用于日期格式化和解析的类。而这两项工作的核心就是我们为此设定的Pattern,我们可以称之为“日期格式表达式”。
理论上讲日期格式表达式包含全部26个英文字母的大小写,不过它们中的一些字母只是被预留了,并没有确切的含义。目前有效的字母及它们所代表的含义如下:
- G:年代标识,表示是公元前还是公元后
- y:年份
- M:月份
- d:日
- h:小时,从1到12,分上下午
- H:小时,从0到23
- m:分钟
- s:秒
- S:毫秒
- E:一周中的第几天,对应星期几,第一天为星期日,于此类推
- z:时区
- D:一年中的第几天
- F:这一天所对应的星期几在该月中是第几次出现
- w:一年中的第几个星期
- W:一个月中的第几个星期
- a:上午/下午标识
- k:小时,从1到24
- K:小时,从0到11,区分上下午
实例:
import java.text.SimpleDateFormat;
import java.util.Date;
public class FormatDateTime {
public static void main(String[] args) {
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
SimpleDateFormat myFmt4=new SimpleDateFormat(
"一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
Date now=new Date(); // 使用系统当前日期时间值创建一个Date对象
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());
}
}
结果:
2016年12月22日 02时23分03秒
16/12/22 02:23
2016-12-22 02:23:03
2016年12月22日 02时23分03秒 Thu
一年中的第 357 天 一年中第52个星期 一月中第4个星期 在一天中2时 UTC时区
22 Dec 2016 02:23:03 GMT
Dec 22, 2016 2:23:03 AM
Thu Dec 22 02:23:03 UTC 2016
版权声明:本文为csdn9_14原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。