Extjs中的日期格式转换format,你造吗?

在用Extjs开发的时候,会用到提供的date控件,产品也会有各式各样的日期需求,什么年月日,时分秒,年月,中间加的分隔符也变化万千,自己去转换简直要累死个人。幸好控件支持format属性,可以以逸待劳。

Extjs中的日期格式转换format,你造吗?

符号 示例 描述
d10月份中的天数,两位数字,不足位补“0”
DWed当前星期的缩写,三个字母
j10月份中的天数,不补“0”
lWednesday当前星期的完整拼写
Sth英语中月份天数的序数词的后缀,2个字符(与格式符“j”连用)
w3一周之中的天数(1~7)
z9一年之中的天数(0~365)
W01一年之中的周数,两位数字(00~52)
FJanuary当前月份的完整拼写
m01当前的月份,两位数字,不足位补“0”
MJan当前月份的完整拼写,三个字母
n1当前的月份,不补“0”
t31当前月份的总天数
L0是否闰年(“1”为闰年,“0”为平年)
Y20074位数字表示的当前年数
y072位数字表示的当前年数
apm小写的“am”和“pm”
APM大写的“am”和“pm”
g312小时制表示的当前小时数,不补“0”
G1524小时制表示的当前小时数,不补“0”
h0312小时制表示的当前小时数,不足位补“0”
H1524小时制表示的当前小时数,不足位补“0”
i05不足位补“0”的分钟数
s01不足位补“0”的秒数
O-0600用小时数表示的与GMT差异数
TCST当前系统设定的时区
Z-21600用秒数表示的时区偏移量(西方为负数,东方为正数)

有了上面的符号,format串可以自由组合,想怎么拼就怎么拼,再也不用为这个烦恼了。但欣喜的同时,还有个问题:

假如var dateElem = this.down("#postDate"),在设置了format之后,框里面显示的已经是需求的值了。
但你用dateElem.getValue()取出来的值有时候不是想要的,比较怪异,那么我们需要费点劲:dateElem.getEl().select("input").elements[0].value;
这样就取出来需要的值啦。。。

相关阅读