我有一个日期字段,其中包含来自数据库的数据,如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
我将不胜感激。
答案 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"属性到模型字段以正确地将日期解析为模型。