2016-06-14 19 views
1

我们的目标是在前端部分设置时区,以显示我们想要的时区的日期/时间,并且还可以获得从日期时间域,时间域等生成的日期在同一时区,但最终发送正确的时间时间戳到服务器。我们如何在Sencha ExtJS 6.0.2版本中设置我们想要使用的时区?

全局设置时区到JavaScript应用程序是不是一个简单的任务,根据此:How to initialize javascript date to a particular timezone

的解决方案建议像momentjs库,并请纠正我,如果我错了,但是这是不可能的范围和与sencha extjs不相容。换句话说,由sencha extjs处理的模型和组件中的时间转换过多,我们无法绕过。

此外,还有覆盖JavaScript语言的Date对象的核心功能,努力本身在这里找到:https://github.com/pligor/jstimezoner
而当有煎茶ExtJS的应用程序的结果是一场灾难,而不是综合上述作品进行简单的情况下,建议。

是否有我们缺少的配置让Sencha ExtJS能够在我们选择的时区显示和处理时间和日期?

请注意,我们总是向/从服务器发送/接收时间戳,因此不存在时区的问题。

回答

0

就像ExtJS并不真正支持国际化一样,它不支持时区。

我们搜索了互联网,也偶然发现了MomentJS。但正如你发现的那样,你可以开始重写几乎所有处理日期的ExtJS:你需要一个datetimewzonepicker,一个模型字段type:'datetimewzone',一个datetimewzonecolumn等,等等。

当时,这似乎过于费力,我们决定在每个请求中将所需的客户端时区发送到服务器,以Y-m-d H:i格式来回发送相应的datetime,并且尽一切努力其他有关服务器上的时区。我们现在对此决定感到遗憾,因为这样,我们不可能在客户端进行计算(例如,离线模式下的cordova应用程序)。

如果你精通ExtJS,编写所有这些时间处理ExtJS扩展应该不仅是干净和可扩展的,而且也是更简单的方法。

+0

它令我感到惊讶,因为他们总是会让我在面对面时,只要我在服务器端使用别的东西而不是时间戳:)你只需要在表示层上带上时区和其他表示信息,我相信你同意。您是否考虑通过包含时区功能来发布您的下一个稳定版本(我猜是6.0.3)?这不是功能请求。这实际上是一个错误。感谢您的考虑 –

+0

我不是ExtJS的代表,只是一个ExtJS开发人员,“我们”并不意味着官方的Sencha团队。 “我们”是一个开发基于ExtJS的商业日历应用程序的小团队。但据我所知,Sencha并没有考虑改善国际化或时区。您可以通过官方支持渠道(X-Credits,Sencha论坛)询问。在4.2.2出局之前,我们做了回来,并没有得到积极的回应。 – Alexander

+0

对支持我的回应的那个人被命名为Alex,因此是误会。对不起。这个问题对Sencha ExtJS官员仍然有效,以防他们偶然发现 –

相关问题