Jes*_*caB 4 javascript asp.net timezone
我有一个表需要在客户端的时区显示日期/时间.但是,我很难找到有效地做到这一点的方法.我知道我可以使用客户端javascript获取时区(并且这个方法有点不稳定),但我需要在Page_Load事件中,所以我不能事先调用javascript.
我可以从单独的页面(例如登录时)获取它,但这并不总是有效,因为有时人们会直接将书签用于内部页面,并绕过使用cookie的登录.
所以我留下了一些选择:1.为每个用户提供一个缓存,我会在每个机会填写一个回发,但不保证它是正确的)
尝试一些奇怪的IP地理定位黑客
拥有允许用户设置时区的用户个人资料(再次,如果他们旅行,这也不总是正确的)
尝试一些funkly页面重定向强制回发,(但有些浏览器禁用页面重定向)
让用户明确设置TZ
在Javascript中执行tz格式化
这些都不是理想的,在我看来,浏览器应该提供服务器的信息.有没有人有任何其他建议?
如果可能,相对显示时间.而不是显示特定的时间,使用散文,如"5分钟前"或"上周".
如果您必须在客户端的时区显示绝对时间,则根据您的评论我选择#5,将UTC时间发送到浏览器,然后使用JavaScript显示本地时间.根据您的描述,用户可以访问需要在未登录时显示其时区的时间的页面,因此将其存储在用户配置文件中似乎不够.
我将在不同时区的存储和显示日期和时间的建议中更详细地讨论相对时间显示概念,并在DateTime结构上提供一个简单的扩展方法来添加ToRelativeDateString方法,以便您可以编写如下代码:
string relativeTime = myDateTimeVariable.ToRelativeDateString();
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |