从服务器端查找 HttpRequest 中的时区
我尝试过 var dateHeaders = HttpContext.Current.Request.Headers["Date"] 但它包含 null,显然没有这样的键。
谁能告诉我还能在哪里找到当前客户的时区?
参考: http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
我想将 dateTime 解析为以下格式:
11 月 14 日星期日 43745 00:00:00 GMT+0200(耶路撒冷标准时间)
顺便说一句,“43745”部分是什么?
I have tried var dateHeaders = HttpContext.Current.Request.Headers["Date"]
but it contains null, apparently there is no such key.
Can anyone tell me where else can I find the time-zone of the current client?
Reference: http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
I want to parse dateTime to the following format:
Sun Nov 14 43745 00:00:00 GMT+0200 (Jerusalem Standard Time)
btw, what's the '43745' part?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
日期标头不是在标准 http 请求中发送的标头。我刚刚使用 IE 和 Firefox 与 fiddler 进行了快速检查,但没有看到任何请求发送的日期标头。
您在服务器上可以做的最好的事情就是获取用户的文化,但这只会对日期格式有帮助,而对时区没有帮助。
但是,您可以使用 getTimezoneOffset 从 javascript 获取信息。例如:
这里有一个很好的描述 。
The date header is not one that is sent in standard http requests. I just ran a quick check with fiddler using both IE and Firefox and didn't see the date header sent on any requests.
The best that you can do on the server is get the user's culture, but this will only help with the date format, not the timezone.
However, you can get the information from javascript using getTimezoneOffset. For example:
There is an excellent description here.
在客户端将其添加到请求标头中。
在服务器端。
通过此您可以将 ISO 日期字符串转换为服务器上的用户时间。
In client side add this to request header.
In server side.
By this you can convert the ISO date string to users time from server.