【www.gdgbn.com--extjs】

date类在extjs中提供的方法算是少的。但是,另外一方面,因为历史原因,现在date无论在哪个语言里面,表征其格式变量的字母都很多。本节就着重讲解date的日期格式表示。这些都是extjs api中的内容,如果有中文版的可以直接跳过这里了。如果需要继续看的,请注意,其中的格式字符时大小写敏感的。


y 年的数字表示,4位数字,例如1999
y 年的两位数字表示,例如99或03
o iso-8601年的数字表示(与y相同,但是如果iso周的数w属于前一年或者下一年,那么就用那个年)例如1998或者2004
l 是否是闰年。1表示是闰年,否则0


f 月份的全称。januray到december
m 月份文本的简写。jan到dec
m 月份的数字表示,0开始。例如 01 到 12
n 月份的数字表示,不以0开头。1到12


d 表示星期中天的缩写。例如,mon到sun
l 跟d一样,不过是全称,例如sunday到saturday
w 一周7天的数字表示0(周日)到6(周六)
n iso-8601一周7天的数字表示。1表示monday(周一)到7表示sunday(周日)
w iso-8601一年中周的数字表示。每周从周一开始计的。所以有01-53,顺序标记了53个周。


d 以0开头的两位数字,表征了一个月中的天。例如,01到31
j 跟d的内容一样,只不过不用0开头。例如,1到31
t 给定月份内的天数。28到31
s 英文中叙述的后缀,用来表示一个月的天时候用,2个字符,跟j可以良好配合。例如,st,nd,rd,或者th(1st,2nd,3rd,4th)
z 一年365天的数字表示,从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 秒的小数部分。至少一位数字,多了不限。例如001表示0.001秒。999表示0.999秒。12312312表示0.12312312秒。
u 从unix纪元开始(january 1 1970 00:00:00 gmt) 到现在的秒。例如1193432466
z 当前时区与utc相比相差的秒数,如果在utc西边就是负数,东边就是正数。-4300到50400

时区
o 与格林威治时间的时间差。例如+1030
p 带冒号的与格林威治时间的时间差。例如-08:00
t 运行当前代码机器所处的时区的缩写。例如est,mdt,pdt
c iso8601的日期表示(注意,如果秒有小数部分,则至少1位数字,多了不限。参见www.w3.org/tr/note-datetiem获取更多内容。例子,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的格式符。在使用的过程中要特别注意了,因为有的时候我们自定义格式的时候,会遇到一些单词中的字母跟格式符一致的情况。当然这个时候我们需要输出的是单词而不是某个date所表示的内容。素以这个时候必须使用转义字符来处理。例如:

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, he js of f y h:i:s a")); // wednesday, the 10th of january 2007 03:05:01 pm

下面在给出一个日期样式的对象,api中有这个,非常好用。虽然它本身不是date中的一部分。但是灵活应用的话会给程序的书写带来很大的便利。
复制代码 代码如下:

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 h:i:s",
universalsortabledatetime: "y-m-d h:i:so",
yearmonth: "f, y"
};

用例:
复制代码 代码如下:

var dt = new date();
document.write(dt.format(date.patterns.shortdate));

 

本文来源:http://www.gdgbn.com/wangyezhizuo/28637/