天天看點

如何使用Javascript格式化日期顯示

我們都知道在java和php語言中,有專門用于格式化日期對象的類和函數,例如java中的dateformat等等,通過這些類和函數,我們可以友善的将一個日期對象按照格式的要求輸出為字元串,例如對于同一個日期2006年12月25日,需要的顯示格式可能如下:

  2006年12月25日,2006-12-25,12-25-2006等等。

  在javascript之中,日期對象是date,那麼如何将一個日期對象按照定制的格式進行輸出呢?

  可以現告訴你,date對象有有四個内置方法,用于輸出為字元串格式,分别為:

  1)togmtstring,将一個日期按照gmt格式顯示

  2)tolocalestring,将一個日期按照本地作業系統格式顯示

  3)tolocaledatestring,按照本地格式顯示一個日期對象的日期部分

  4)tolocaletimestring,按照本地格式顯示一個日期對象的時間部分

  盡管javascript的date對象中内置提供了這些輸出為字元串的方法,但是這些字元串不是我們來控制格式的,是以如果我們需要我們自己定制的特殊格式,那麼又該怎麼辦呢?

    var df=new simpledateformat();//jsjava1.0需要使用dateformat對象,不要弄錯就是了

    df.applypattern("yyyy-mm-dd hh:mm:ss");

    var date=new date(2007,3,30,10,59,51);

    var str=df.format(date);

    document.write(str);//顯示結果為:2007-04-30 10:59:51

  通過上面的例子你可以看出,你需要做的就是指定pattern,那麼pattern中yyyy、mm等都表示什麼意思呢?如果你學習過java的日期格式化,那麼你應該知道,那都是占位符,這些占位符都具有特殊的函數,例如y表示年,yyyy表示四個數字的年份,例如1982,下面列舉一些pattern中支援的特殊字元及其含義(下面表格引自java的官方文檔,做了适當修改):

g

era designator

[url=]text[/url]

ad

y

year

[url=]year[/url]

1996; 96

m

month in year

[url=]month[/url]

july; jul; 07

w

week in year

[url=]number[/url]

27

week in month

2

d

day in year

189

day in month

10

f

day of week in month

e

day in week

tuesday; tue

a

am/pm marker

pm

h

hour in day (0-23)

k

hour in day (1-24)

24

hour in am/pm (0-11)

hour in am/pm (1-12)

12

minute in hour

30

s

second in minute

55

millisecond

978