格式化时间(SimpleDateFormat)


  抽象类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版权协议,转载请附上原文出处链接和本声明。