ExtJs的Date格式字符代碼
更新時間:2010年12月30日 17:11:00 作者:
首先簡單介紹一下ExtJs中的Date基本上就是PHP date函數(shù)的一個子集,表征了一個日期對象。廢話到此為止。
Date類在ExtJs中提供的方法算是少的。但是,另外一方面,因為歷史原因,現(xiàn)在Date無論在哪個語言里面,表征其格式變量的字母都很多。本節(jié)就著重講解Date的日期格式表示。這些都是ExtJs API中的內(nèi)容,如果有中文版的可以直接跳過這里了。如果需要繼續(xù)看的,請注意,其中的格式字符時大小寫敏感的。
年
Y 年的數(shù)字表示,4位數(shù)字,例如1999
y 年的兩位數(shù)字表示,例如99或03
o ISO-8601年的數(shù)字表示(與Y相同,但是如果ISO周的數(shù)W屬于前一年或者下一年,那么就用那個年)例如1998或者2004
L 是否是閏年。1表示是閏年,否則0
月
F 月份的全稱。Januray到December
M 月份文本的簡寫。Jan到Dec
m 月份的數(shù)字表示,0開始。例如 01 到 12
n 月份的數(shù)字表示,不以0開頭。1到12
周
D 表示星期中天的縮寫。例如,Mon到Sun
l 跟D一樣,不過是全稱,例如Sunday到Saturday
w 一周7天的數(shù)字表示0(周日)到6(周六)
N ISO-8601一周7天的數(shù)字表示。1表示Monday(周一)到7表示Sunday(周日)
W ISO-8601一年中周的數(shù)字表示。每周從周一開始計的。所以有01-53,順序標(biāo)記了53個周。
日
d 以0開頭的兩位數(shù)字,表征了一個月中的天。例如,01到31
j 跟d的內(nèi)容一樣,只不過不用0開頭。例如,1到31
t 給定月份內(nèi)的天數(shù)。28到31
S 英文中敘述的后綴,用來表示一個月的天時候用,2個字符,跟j可以良好配合。例如,st,nd,rd,或者th(1st,2nd,3rd,4th)
z 一年365天的數(shù)字表示,從0開始。即0-364,閏年則是0-365
上下午
a AM和PM的小寫。例如,am或者pm
A AM和PM的大寫。例如,AM或者PM
時
g 不以0開頭的12小時格式,1到12
h 以0開頭的12小時格式,01到12
G 不以0開頭的24小時格式,0到23
H 以0開頭的24小時格式,00到23
分
i 以0開頭的分鐘表示,00到59
秒
s 以0開頭的秒表示,00到59
u 秒的小數(shù)部分。至少一位數(shù)字,多了不限。例如001表示0.001秒。999表示0.999秒。12312312表示0.12312312秒。
U 從Unix紀(jì)元開始(January 1 1970 00:00:00 GMT) 到現(xiàn)在的秒。例如1193432466
Z 當(dāng)前時區(qū)與UTC相比相差的秒數(shù),如果在UTC西邊就是負(fù)數(shù),東邊就是正數(shù)。-4300到50400
時區(qū)
O 與格林威治時間的時間差。例如+1030
P 帶冒號的與格林威治時間的時間差。例如-08:00
T 運行當(dāng)前代碼機器所處的時區(qū)的縮寫。例如EST,MDT,PDT
c ISO8601的日期表示(注意,如果秒有小數(shù)部分,則至少1位數(shù)字,多了不限。參見www.w3.org/TR/NOTE-datetiem獲取更多內(nèi)容。例子,2007-04-17T15:19:21+08:00 or 2008-03-16T16:18:22Z or 2009-02-15T17:17:23.9+01:00 or 2010-01-14T18:16:24,999876543-07:00
以上就是Date的格式符。在使用的過程中要特別注意了,因為有的時候我們自定義格式的時候,會遇到一些單詞中的字母跟格式符一致的情況。當(dāng)然這個時候我們需要輸出的是單詞而不是某個Date所表示的內(nèi)容。素以這個時候必須使用轉(zhuǎn)義字符來處理。例如:
var dt = new Date('1/10/2007 03:05:01 PM GMT-0600');
document.write(dt.format('Y-m-d')); // 2007-01-10
document.write(dt.format('F j, Y, g:i a')); // January 10, 2007, 3:05 pm
document.write(dt.format('l, \\t\\he jS \\of F Y h:i:s A')); // Wednesday, the 10th of January 2007 03:05:01 PM
下面在給出一個日期樣式的對象,API中有這個,非常好用。雖然它本身不是Date中的一部分。但是靈活應(yīng)用的話會給程序的書寫帶來很大的便利。
Date.patterns = {
ISO8601Long:"Y-m-d H:i:s",
ISO8601Short:"Y-m-d",
ShortDate: "n/j/Y",
LongDate: "l, F d, Y",
FullDateTime: "l, F d, Y g:i:s A",
MonthDay: "F d",
ShortTime: "g:i A",
LongTime: "g:i:s A",
SortableDateTime: "Y-m-d\\TH:i:s",
UniversalSortableDateTime: "Y-m-d H:i:sO",
YearMonth: "F, Y"
};
用例:
var dt = new Date();
document.write(dt.format(Date.patterns.ShortDate));
年
Y 年的數(shù)字表示,4位數(shù)字,例如1999
y 年的兩位數(shù)字表示,例如99或03
o ISO-8601年的數(shù)字表示(與Y相同,但是如果ISO周的數(shù)W屬于前一年或者下一年,那么就用那個年)例如1998或者2004
L 是否是閏年。1表示是閏年,否則0
月
F 月份的全稱。Januray到December
M 月份文本的簡寫。Jan到Dec
m 月份的數(shù)字表示,0開始。例如 01 到 12
n 月份的數(shù)字表示,不以0開頭。1到12
周
D 表示星期中天的縮寫。例如,Mon到Sun
l 跟D一樣,不過是全稱,例如Sunday到Saturday
w 一周7天的數(shù)字表示0(周日)到6(周六)
N ISO-8601一周7天的數(shù)字表示。1表示Monday(周一)到7表示Sunday(周日)
W ISO-8601一年中周的數(shù)字表示。每周從周一開始計的。所以有01-53,順序標(biāo)記了53個周。
日
d 以0開頭的兩位數(shù)字,表征了一個月中的天。例如,01到31
j 跟d的內(nèi)容一樣,只不過不用0開頭。例如,1到31
t 給定月份內(nèi)的天數(shù)。28到31
S 英文中敘述的后綴,用來表示一個月的天時候用,2個字符,跟j可以良好配合。例如,st,nd,rd,或者th(1st,2nd,3rd,4th)
z 一年365天的數(shù)字表示,從0開始。即0-364,閏年則是0-365
上下午
a AM和PM的小寫。例如,am或者pm
A AM和PM的大寫。例如,AM或者PM
時
g 不以0開頭的12小時格式,1到12
h 以0開頭的12小時格式,01到12
G 不以0開頭的24小時格式,0到23
H 以0開頭的24小時格式,00到23
分
i 以0開頭的分鐘表示,00到59
秒
s 以0開頭的秒表示,00到59
u 秒的小數(shù)部分。至少一位數(shù)字,多了不限。例如001表示0.001秒。999表示0.999秒。12312312表示0.12312312秒。
U 從Unix紀(jì)元開始(January 1 1970 00:00:00 GMT) 到現(xiàn)在的秒。例如1193432466
Z 當(dāng)前時區(qū)與UTC相比相差的秒數(shù),如果在UTC西邊就是負(fù)數(shù),東邊就是正數(shù)。-4300到50400
時區(qū)
O 與格林威治時間的時間差。例如+1030
P 帶冒號的與格林威治時間的時間差。例如-08:00
T 運行當(dāng)前代碼機器所處的時區(qū)的縮寫。例如EST,MDT,PDT
c ISO8601的日期表示(注意,如果秒有小數(shù)部分,則至少1位數(shù)字,多了不限。參見www.w3.org/TR/NOTE-datetiem獲取更多內(nèi)容。例子,2007-04-17T15:19:21+08:00 or 2008-03-16T16:18:22Z or 2009-02-15T17:17:23.9+01:00 or 2010-01-14T18:16:24,999876543-07:00
以上就是Date的格式符。在使用的過程中要特別注意了,因為有的時候我們自定義格式的時候,會遇到一些單詞中的字母跟格式符一致的情況。當(dāng)然這個時候我們需要輸出的是單詞而不是某個Date所表示的內(nèi)容。素以這個時候必須使用轉(zhuǎn)義字符來處理。例如:
var dt = new Date('1/10/2007 03:05:01 PM GMT-0600');
document.write(dt.format('Y-m-d')); // 2007-01-10
document.write(dt.format('F j, Y, g:i a')); // January 10, 2007, 3:05 pm
document.write(dt.format('l, \\t\\he jS \\of F Y h:i:s A')); // Wednesday, the 10th of January 2007 03:05:01 PM
下面在給出一個日期樣式的對象,API中有這個,非常好用。雖然它本身不是Date中的一部分。但是靈活應(yīng)用的話會給程序的書寫帶來很大的便利。
復(fù)制代碼 代碼如下:
Date.patterns = {
ISO8601Long:"Y-m-d H:i:s",
ISO8601Short:"Y-m-d",
ShortDate: "n/j/Y",
LongDate: "l, F d, Y",
FullDateTime: "l, F d, Y g:i:s A",
MonthDay: "F d",
ShortTime: "g:i A",
LongTime: "g:i:s A",
SortableDateTime: "Y-m-d\\TH:i:s",
UniversalSortableDateTime: "Y-m-d H:i:sO",
YearMonth: "F, Y"
};
用例:
復(fù)制代碼 代碼如下:
var dt = new Date();
document.write(dt.format(Date.patterns.ShortDate));
相關(guān)文章
EXTJS記事本 當(dāng)CompositeField遇上RowEditor
用RowEditor作批量編輯器時,遇到一個問題,想要在Roweditor中使用三個下拉列表組成級聯(lián)式選擇控件2011-07-07Extjs3.0 checkboxGroup 動態(tài)添加item實現(xiàn)思路
Extjs3.0中的CheckboxGroup默認(rèn)不能動態(tài)添加item,如需要數(shù)據(jù)動態(tài)創(chuàng)建,試著創(chuàng)建整個CheckboxGroup,而不是動態(tài)添加item,具體實現(xiàn)如下,感興趣的朋友可以了解下2013-08-08extjs 列表框(multiselect)的動態(tài)添加列表項的方法
最近公司一個項目,因為要使用div模擬的窗口,因為久聞extjs的大名,因此就想在項目中使用一下.首先下載了multiselect的extjs3.0 demo.看到的代碼這里我就不粘貼了.2009-07-07Ext JS 4實現(xiàn)帶week(星期)的日期選擇控件(實戰(zhàn)二)
Javascript 有提供Date 對象用于處理時間。但是Date 并沒有提供獲取星期的方法,jquery 的擴展組件 等有直接提供這樣的一些現(xiàn)成包,感興趣的朋友可以了解下2013-08-08Ext GridPanel加載完數(shù)據(jù)后進(jìn)行操作示例代碼
Ext GridPanel加載完數(shù)據(jù)后進(jìn)行操作,比如load數(shù)據(jù)之后選定某些行數(shù)據(jù),下面有個示例,需要的朋友可以參考下2014-06-06