当前位置:  开发笔记 > 编程语言 > 正文

ASP.Net时间本地化

如何解决《ASP.Net时间本地化》经验,为你挑选了1个好方法。

我正在开发一个允许用户添加日历条目的网站,在主页面上,所有用户都可以看到这些条目,其中包含一些文字,说明这些条目是最新的,例如

入场1:5分钟
入场2:7小时
入场3:4天

我遇到的问题是每个人都可能处于不同的时区.我已决定将所有时间/日期存储在GMT中.

我正在捣乱的是,当用户提交日历条目时,请参阅2009年1月1日上午10:30我然后需要确定这个日期时间在GMT中的存储时间.有没有办法知道用户的本地时区/时间是什么,所以我可以将它与服务器时间(GMT)进行比较以进行转换?

我真的希望这是有道理的.我希望我能做到这一点,而不必询问用户他们在哪个时区,或强迫用户输入GMT中的所有日期时间.



1> Torbjørn..:

在将日期时间发送到服务器之前,将日期时间转换为GMT客户端(在JavaScript中,如果这是一个Web应用程序).让服务器只能使用GMT(我想说UTC).显示日期/时间也是一样的.将GMT/UTC发送到客户端,让JS本地化.在我看来,这是唯一完全安全的方法,因为你要让用户操作系统来确定时间应该是什么.

还有其他原因,如果您只需要知道客户端的时间是什么,您可以从中获取偏移量(可以通过JS等检索).但是,如果您需要在历史和未来日期/时间的不同位置准确的日期/时间,您最好让客户处理它.

PS:在我的TimeZone实现中,我还使用UNIX时间格式进行客户端和服务器之间的通信.这很容易解析,我相信它是JS的原生日期时间格式.我现在无法为您呈现我的代码,但应该相对容易谷歌.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有