EXTJS Ext.util.Format.date自动日期转换

时间:2015-07-31 10:20:13

标签: javascript date datetime extjs extjs4

我有一个日期字段,其中包含来自数据库的数据,如2015/07/31 13:01:53.180z。 日期时间存储在数据库中的 UTC 中。

我的代码如下所示:

  var startDateTime = Ext.util.Format.date(StartDateTime, 'm/d/y g:i:s A');

但我得到的输出是UTC转换为IST(印度)。我检查了Chrome,Mozilla和IE。 我一直得到相同的输出

ExtJs会这样做吗?因为我还没有改变任何转换方法。

我使用ExtJs 4.1.1

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

时区附加在字符串 - > JS日期转换中。

要从数据库中解析日期而不进行时区转换,您应该明确使用Ext.Date.parse,而不是自动通过模型字段类型' date'或者只是JS构造函数new Date()。

例如:

var db_date = '2015/07/31 13:01:53.180z',
    js_date = Ext.Date.parse(db_date.substring(0,db_date.length-5), 'Y/m/d H:i:s'),
    date_to_show = Ext.util.Format.date(js_date, 'm/d/y g:i:s A');

显然" substring"必须用更好的东西替换,例如你可以在web服务序列化中格式化db date(cut timezone part)。

如果您要在Web服务中清除日期字符串,您还可以添加" dateFormat"属性到模型字段以正确地将日期解析为模型。