ExtJS 4.0 表格日期列和表单日期字段(浏览器时区问题)
在这个表格中的日期列(还有日期输入框)是使用浏览器的本地时区,但我更希望使用应用程序用户个人资料中选择的时区,而不是浏览器的时区。
我该怎么做呢?
我能否强制ExtJS使用不受夏令时影响的时区,这样所有的日期/时间组合都像UTC那样有效?与服务器沟通时应该使用什么样的日期时间格式呢?
我在使用PostgreSQL,但我不确定该用什么样的数据库列类型?现在我使用的是带时区的时间戳,但不确定这样是否合适?
1 个回答
1
在你的EXT代码中,不要直接用 new Date()
来指定日期,而是先计算出你需要的日期,然后用 new Date("2011年10月13日 11:13:00")
(或者你想要的任何日期)。你可以在字段定义中使用 convert:
来做到这一点。
编辑:我想你表格中的日期列是从数据库里获取值的,对吧?如果想调整这个值,你可以在字段定义中使用 "convert:" 函数,然后加上三个小时(或者你需要的任何时间)。
{
name: 'EventDate',
type: 'date', dateFormat: "Y-m-d G:i:s", <-- adjust as needed
convert: function(val) {
return Ext.Date.add(val, Ext.Date.HOUR, 3)
}
}