【发布时间】:2008-12-10 11:43:57
【问题描述】:
所以,我正在设置一个应该过期的 cookie。但是,我希望这可以在世界范围内使用。所以我需要根据用户的时区调整我的到期日期。
所以,我需要在服务器端找出用户的时区。
有没有办法在 BCL 中做到这一点?就像依靠正确设置 CultureInfo.CurrentUICulture 之类的东西(我相信 MonoRail LocalizationFilter 确实如此,但尚未正确检查),然后确定用户所在的时区(以及考虑夏令时)也有)基于此?
.NET 3.5 中有 System.TimeZoneInfo,但很少有关于 Id 是什么的文档 - 无论它们是 ISO 代码还是什么。
或者我是否要依赖客户端的某些东西从例如 Date.getTimezoneOffset() 推送此信息? 我宁愿避免这种情况,因为,嗯,客户端撒谎。
【问题讨论】:
-
嗯。我刚刚看了code.google.com/p/gears/wiki/GeolocationAPI,它至少可以返回一个国家代码。几乎是我想要的……
-
仅供参考,cookie 时间为格林威治标准时间。因此,如果您在服务器上设置它们,假设客户端没有将它们的时区修改为某个奇怪的值,它将在它应该过期的时候过期。尽管如此,即使他们有,它仍然会在 24 小时内到期,除非他们设置的日期完全错误。
标签: c# asp.net localization internationalization castle-monorail