ExtJS 4.0 表格日期列和表单日期字段(浏览器时区问题)

2 投票
1 回答
2023 浏览
提问于 2025-04-16 23:47

在这个表格中的日期列(还有日期输入框)是使用浏览器的本地时区,但我更希望使用应用程序用户个人资料中选择的时区,而不是浏览器的时区。

我该怎么做呢?

我能否强制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)
   }
}

撰写回答