我有一个多时区 Web 应用程序,它将所有 UTC 日期时间值存储在数据库中,当服务器上发生操作时,我可以轻松地将时间转换为 UTC。
但是,当客户端输入时间或时间跨度时,检测和存储它的最佳方法是什么?
我目前正在做以下事情:
- 获取 Date.getTimezoneOffset() 的值 (javascript)
- 通过页面上的 ICallbackEventHandler 将其发布到服务器端代码。
- 将该值存储在会话中
- 对于任何后续请求,使用客户端的时区计算输出/输入日期时间值。
无论实际实现如何,这似乎都是一个不优雅的解决方案。有人有更好的方法吗?
我正在做一些非常相似的事情,但我现在认为我更喜欢使用javascript在客户端将所有时间转换为本地时间。服务器将在生成的页面中给出所有 UTC 时间,并且javascript页面加载后将对其进行转换。
这消除了服务器端代码的混乱,因为我总是知道现在是什么时间(UTC)。在客户端,我正在使用jquery和each()
函数一次格式化所有时间值。我把每一次都写成Unix时间在隐藏字段中,以便于处理jquery.
我发现这种方法的唯一问题是:
a)我还没有一个非常好的日期/时间格式化例程javascript, and
b) 如果用户有javascript关闭,然后就不起作用了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)