ExtJS 3.4.0中的日期不正确

时间:2014-11-05 07:55:06

标签: date extjs

我在ExtJs 3.4.0中遇到日期问题 如果我设定的日期类似于" 2020年1月1日" ExtJs将此保存为" 2019年12月1日"

xtype:  'datefield',
id:     _BIRTHDATE,
format: 'd.m.Y',
width:  200,
allowBlank: false,
name:   'birthDate',
fieldLabel : 'Date of birth'

我如何解决它?

1 个答案:

答案 0 :(得分:0)

您没有指定如何设置它以及如何保存它。请出示您的代码。

但是让我详细说明最可能的原因:

你离开了一个月,这可能是因为JavaScript的getMonth() 1月份返回ZERO,12月份返回ELEVEN,而ExtJS内置方法总是返回1月份的ONE和12月份的TWELVE (就像其他所有理智的编程语言一样 - 这就是为什么有些人说JS不是一种编程语言,而是一种痛苦的屁股)。

所以,例如,如果你有一个dateFormat Y-m-d的日期字段而你做

var dt = new Date();
str = dt.getFullYear() + "-" + dt.getMonth() + "-" + dt.getDate();
datefield.setValue(str);
你将在一个月后离开。因此,您必须谨慎处理日期:永远不要手动转换日期,始终使用Ext.Date.parseExt.Date.format