
Ext JS 4.2.0文档翻译: Ext.Date
这是一组辅助性的静态方法集合,用于处理日期及时间。注意,如果Ext.Date 被必需(required)并且被载入了,则,它会将所有的方法/属性都复制到这个对象中,以便于使用。
日期的解析及格式化语法中包含着PHP的 date() 函数的一个子集,并且,它所支持的格式化结果与PHP 中相应版本的格式化结果是等同的。
以下是当前支持的所有格式符号列表:
|
格式 |
说明 |
返回值示例 |
|
d |
一个月中的日子号(Day),2位数字,带有前缀0 |
01至31 |
|
D |
一个星期中的星期日名字,简写表示法 |
Mon至Sun |
|
j |
一个月中的日子号,不带前缀0 |
1至31 |
|
l |
一个星期中的星期日名字,完整表示法 |
Sunday至Saturday |
|
N |
一个星期中的星期日名字的ISO-8601数字表示法 |
1 (表示Monday)至7 (表示Sunday) |
|
S |
一个月中的日子号的英语序数后缀,2个字符 |
st、nd、rd或th。与j这个选项完美配合。 |
|
w |
一个星期中的星期日的数字表示法 |
0 (表示Sunday)至6 (表示Saturday) |
|
z |
一年中的日子号(从0开始) |
0至364 (对于闰年就是365) |
|
W |
一年中的星期号的ISO-8601数字表示法,一个星期以Monday开始 |
01至53 |
|
F |
月份名字的完整文字表示法,例如January或March |
January至December |
|
m |
月份的数字表示法,带有前缀0 |
01至12 |
|
M |
月份的简短文字表示法 |
Jan至Dec |
|
n |
月份的数字表示法,不带前缀0 |
1至12 |
|
t |
指定月份中的天数 |
28至31 |
|
L |
是否是闰年 |
如果是闰年则为1,否则为0。 |
|
o |
ISO-8601的年份数字(与(Y)等价,但是,如果对应日期的ISO星期号(W)属于之前一年或之后一年,则会使用那一年的年份数字) |
示例:1998或2004 |
|
Y |
年份的完整数字表示法,4位数字 |
示例:1999或2003 |
|
y |
两位数字的年份表示法 |
示例:99或03 |
|
a |
小写字母的上午及下午表示法 |
am或pm |
|
A |
大写字母的上午及下午表示法 |
AM或PM |
|
g |
12小时制格式表示的小时数,不带前缀0 |
1至12 |
|
G |
24小时制格式表示的小时数,不带前缀0 |
0至23 |
|
h |
12小时制格式表示的小时数,带前缀0 |
01至12 |
|
H |
24小时制格式表示的小时数,带前缀0 |
00至23 |
|
i |
分钟数,带前缀0 |
00至59 |
|
s |
秒钟数,带前缀0 |
00至59 |
|
u |
1秒中的10进制小片断(最少是1位数字,允许有无限位数字) |
示例: 001 (即:0.001s) 或 100 (即:0.100s) 或 999 (即:0.999s) 或 999876543210 (即:0.999876543210s) |
|
O |
以小时及分钟数表示的与格林威治时间(GMT)之差 |
示例:+1030 |
|
P |
与格林威治时间之差,在小时数和分钟数之间以冒号隔开 |
示例:-08:00 |
|
T |
运行当前代码的机器所在的时区的缩写 |
示例:EST、MDT、PDT…… |
|
Z |
以秒数表示的时区偏移(如果在UTC的西边则是负数,在东边则是正数) |
-43200至50400 |
|
c |
ISO 8601日期 注意: 1) 如果未具体指定的话,则,月份/日子号数默认为当前的月份/日子号数,时间默认为午夜,时区默认为浏览器所在的时区。如果要指定时间的话,则必须同时指定小时数和分钟数。"T"分隔符、秒钟数、毫秒数及时区都是可选的。 2) 末尾的1秒中的小片断数字,如果要指定的话,则必须包含最少1位数字(对于数字的最大位数没有限制),并且可使用'.'或者','来与前面的字段隔开 参考右边的示例以了解我们都支持哪种级别的时间间隔,或者阅读http://www.w3.org/TR/NOTE-datetime。 |
示例: 1991 或 1992-10 或 1993-09-20 或 1994-08-19T16:20+01:00 或 1995-07-18T17:21:28-02:00 或 1996-06-17T18:22:29.98765+03:00 或 1997-05-16T19:23:30,12345-0400 或 1998-04-15T20:24:31.2468Z 或 1999-03-14T20:24:32Z 或 2000-02-13T21:25:33 2001-01-12 22:26:34 |
|
U |
自从Unix纪元(January 1 1970 00:00:00 GMT)以来的秒数 |
1193432466 或 -2138434463 |
|
time |
一个javascript毫秒级别的时间戳 |
1350024476440 |
|
timestamp |
一个UNIX时间戳(与U相同) |
1350024866 |
使用示例(注意,妳必须对格式标识符使用'\'进行转义,才能够让它们显示成普通的字符串常量):
// 示例日期:
// 'Wed Jan 10 2007 15:05:01 GMT-0600 (Central Standard Time)'
var dt = new Date('1/10/2007 03:05:01 PM GMT-0600');
console.log( Ext.Date.format (dt, 'Y-m-d')); // 2007-01-10
console.log( Ext.Date.format (dt, 'F j, Y, g:i a')); // January 10, 2007, 3:05 pm
console.log( Ext.Date.format (dt, 'l, \\t\\he jS \\of F Y h:i:s A')); // Wednesday, the 10th of January 2007 03:05:01 PM
以下是一些常用的标准的日期/时间格式化模式。它们不是Ext.Date源代码中的组成部分,但是,如果妳想要使用它们的话,只需将以下代码块复制到任何一个在Ext.Date之后包含进来的脚本文件中去即可,这样的话,它们就会成为全局可用的Date 对象中的组成部分。妳可以根据需要随意添加或删除各个格式化模式。
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"
};
使用示例:
console.log( Ext.Date.format (dt, Ext.Date.patterns.ShortDate));
开发者可以根据自己的特殊格式需求来提供对应的格式化及解析函数,这样就可以支持自定义的格式了。这些函数都是储存在parseFunctions和formatFunctions中的。
Ext.Date
这是一个对象散列(object hash),其中的每个属性都是一个日期格式化函数。属性的名字就是对应于将要被产生出来的日期字符串的格式字符串。
这个对象里面会自动填充进去一些日期格式化函数,因为Ext 中的标准格式化字符串需要有日期格式化函数的支持。
可以将自定义的格式化函数插入到这个对象中去,其键即为该格式化函数的名字,从插入的时候开始,对应的键即可作为format函数中的格式化字符串使用。
示例:
Ext.Date.formatFunctions ['x-date-format'] = myDateFormatter;
一个格式化函数应当返回所传入的Date 对象的字符串表示结果,并且接受以下参数:
•. date : Date
要格式化的Date对象。
要想使得这种格式的日期字符串也能够被解析的话,则必须向parseFunctions属性中插入对应的解析函数。
Ext.Date
monthNames : String[]
月份名字字符串的数组。覆盖这些值以便处理国际化的日期。
示例:
'正月',
'二月'
// ...
];
默认值: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
Ext.Date
一个对象散列,其值为从0开始数的JavaScript月份数字(以月份的简写形式作为键。注意:键是大小写敏感的)。覆盖这些值以便处理国际化的日期。
示例:
'正月': 0,
'妳的语言中正月的缩写':0,
'二月':1,
'妳的语言中二月的缩写':1
// ...
};
默认值: {January: 0, Jan: 0, February: 1, Feb: 1, March: 2, Mar: 2, April: 3, Apr: 3, May: 4, June: 5, Jun: 5, July: 6, Jul: 6, August: 7, Aug: 7, September: 8, Sep: 8, October: 9, Oct: 9, November: 10, Nov: 10, December: 11, Dec: 11}
Ext.Date
一个对象散列,其中每个属性都是一个解析函数。属性的名字就是被那个函数所解析的格式化字符串。这个对象里面会自动填充进入一些日期解析函数,因为Ext 中的标准格式化字符串中包括了日期格式。
可将自定义的解析函数插入到这个对象中去,其键即为一个格式名字,从插入的时刻开始就可以作为parse函数中的格式化字符串使用。
示例:
Ext.Date.parseFunctions ['x-date-format'] = myDateParser;
一个解析函数应当返回一个Date对象,并且接受以下参数:
•. date : String
要解析的日期字符串。
•. strict : Boolean
如果为真(True),则在解析的同时验证日期字符串的有效性(即,阻止发生JavaScript Date对象的“翻转”("rollover")) (默认值必须是false)。无效的日期字符串在被解析时应当返回null。
要想支持按照相应的格式来将Date对象格式化的话,就必须向formatFunctions属性中插入一个对应的格式化函数。
Ext.Date
parse( input, format, [strict] ) : Date
使用指定的日期格式format 来解析所传入的字符串。注意,这个函数预期所输入的是普通的日历日期,这就意味着月份是从1开始数的(即,1 = January)。对于无法从所传入的字符串中找到的那些属性值(即,年份、月份、日子号、小时、分钟、秒钟或毫秒数),会使用defaults 散列中的值作为补充。如果在defaults 散列中也找不到某个字段的默认值,则,会使用当前日期的年份、月份、日子号或经过夏时制调整(DST-adjusted)的带0小时数时间(zero-hour time)值来代替。记住,所输入的日期字符串必须精确地与所指定的格式字符串相匹配,才能确保解析操作成功完成(解析失败的话会返回一个空(null)值)。
示例:
var dt = new Date();
//dt = Thu May 25 2006 (2006年中对应于今天的月份/日子号)
dt = Ext.Date.parse ("2006", "Y");
//dt = Sun Jan 15 2006 (所有的日期字段都指定了)
dt = Ext.Date.parse ("2006-01-15", "Y-m-d");
//dt = Sun Jan 15 2006 15:20:01
dt = Ext.Date.parse ("2006-01-15 3:20:01 PM", "Y-m-d g:i:s A");
// 尝试以严格(strict)模式来解析Sun Feb 29 2006 03:20:01
dt = Ext.Date.parse ("2006-02-29 03:20:01", "Y-m-d H:i:s", true); // 返回null
•.input : String
原始的日期字符串。
•.format : String
预期的日期字符串格式。
•.strict : Boolean (可选)
为真(true)则在解析的同时验证日期字符串的有效性(即,阻止发生JavaScript的Date对象“翻转”)。解析时如果遇到无效的日期字符串则会返回null。
默认值: false
•. Date
解析之后得到的Date对象。
未知美人
未知美人
HxLauncher: Launch Android applications by voice commands