关于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 时区

/////////////////////////////////////////////////下面是例子,以及执行结果

import java.text.*;
import java.util.Date;


public class FormatDateTime {

    public static void main(String[] args) {

       ///  打印出2006年11月17日 15时19分56秒
        SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

       //打印  06/11/17 15:19
        SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm"); 
 
        //2006-11-17 15:19:56
       SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       

     //2006年11月17日 15时19分56秒 星期五
     SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");

       // 一年中的第 321 天 一年中第46个星期 一月中第3个星期 在一天中15时 CST时区
      SimpleDateFormat myFmt4=new SimpleDateFormat(
                   "一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
     

     Date now=new 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());// 17 Nov 2006 07:19:56 GMT
        System.out.println(now.toLocaleString());// 2006-11-17 15:19:56
        System.out.println(now.toString());// Fri Nov 17 15:19:56 CST 2006
    }   
   
}

我会经常用到它 , 比如在自定义taglib时候,可能不要一个特定格式的时间输出(当然作为属性设定方式比较好)

 

字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800

 

 

其中的两个方法:

 Date parse(String text, ParsePosition pos)
          解析字符串的文本,生成 Date

 StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos)
          将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值