阅读更多
extjs 的datefield,往后台传值,接收的是Thu Sep 2 00:00:00 UTC 0800 2010,而我想要的是2010/09/02。
ext.getCmp("id").getvalue.format('Y/m/d');转换
extjs往后台传值
Datefield配置 format:'Y-m-d'
或
Ext.util.Format.date(value, 'Y-m-d')
日期格式参考extjs api文档中的Date类型.
var md = new Ext.form.DateField({
............
format: 'Y-m-d H:i:s',
............
});
替换'Y-m-d H:i:s'中的各个字母,当然增加和减少都没有问题,留意大小写.可得到多种样式的日期格式.
d 10 月份中的天数,两位数字,不足位补“0”
D Wed 当前星期的缩写,三个字母
j 10 月份中的天数,不补“0”
l Wednesday 当前星期的完整拼写
S th 英语中月份天数的序数词的后缀,2个字符(与格式符“j”连用)
w 3 一周之中的天数(1~7)
z 9 一年之中的天数(0~365)
W 01 一年之中的周数,两位数字(00~52)
F January 当前月份的完整拼写
m 01 当前的月份,两位数字,不足位补“0”
M Jan 当前月份的完整拼写,三个字母
n 1 当前的月份,不补“0”
t 31 当前月份的总天数
L 0 是否闰年(“1”为闰年,“0”为平年)
Y 2007 4位数字表示的当前年数
y 07 2位数字表示的当前年数
a pm 小写的“am”和“pm”
A PM 大写的“am”和“pm”
g 3 12小时制表示的当前小时数,不补“0”
G 15 24小时制表示的当前小时数,不补“0”
h 03 12小时制表示的当前小时数,不足位补“0”
H 15 24小时制表示的当前小时数,不足位补“0”
i 05 不足位补“0”的分钟数
s 01 不足位补“0”的秒数
O -0600 用小时数表示的与 GMT 差异数
T CST 当前系统设定的时区
Z -21600 用秒数表示的时区偏移量(西方为负数,东方为正数)用法举例:(注意你必须在字母前使用转意字符“\\”才能将其作为字母本身而不是格式符输出):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 dS of F Y h:i:s A')); //Wednesday, the 10th of January 2007 03:05:01 PM
下面有一些标准的日期/时间模板可能会对你有用。它们不是 Date.js 的一部分,但是你可以将下列代码拷出,并放在 Date.js 之后所引用的任何脚本内,都将成为一个全局变量,并对所有的 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\\TH:i:s",
UniversalSortableDateTime: "Y-m-d H:i:sO",
YearMonth: "F, Y"
};
用法举例:var dt = new Date();
document.write(dt.format(Date.patterns.ShortDate));