C#服务器上如何获取客户端当前时间(不用JS)

pii08 2013-11-06 11:15:03
C#后台如何获取客户端当前时间,不使用JS
...全文
621 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
首先排除一种错误答案,就是c#&.net framework方案。 楼上那些用c#来搞的,这不是笑话么?c#代码是运行在客户端的?那要是客户端装没装.net环境还看不了你的页面了? 不明白为什么楼主要求不用js?
可可西外 2013-11-07
  • 打赏
  • 举报
回复
搞个空白页面,专门使用js获得时间,然后就行跳转不可以吗?js可以跳转卅,我不太了解js。
pii08 2013-11-06
  • 打赏
  • 举报
回复
引用 8 楼 dongxinxi 的回复:
[quote=引用 7 楼 pii08 的回复:] [quote=引用 5 楼 dongxinxi 的回复:] http协议头有一个Date域表示的是客户端发送请求的时间(GMT格式),应该是LZ想要的 http://blog.csdn.net/caojunling/article/details/1916899
这个方法获取的是世界标准时间 还得知道客户访问的时区吗,通过时区来换算成客户端的当前时间,如何获取客户所在的时区呢[/quote] 如果你想知道客户端的所在地的当地时间,自然要知道时区 但是如果你想知道客户端同一时刻的北京时间,那只要GMT+8不就行了吗?[/quote]
引用 8 楼 dongxinxi 的回复:
[quote=引用 7 楼 pii08 的回复:] [quote=引用 5 楼 dongxinxi 的回复:] http协议头有一个Date域表示的是客户端发送请求的时间(GMT格式),应该是LZ想要的 http://blog.csdn.net/caojunling/article/details/1916899
这个方法获取的是世界标准时间 还得知道客户访问的时区吗,通过时区来换算成客户端的当前时间,如何获取客户所在的时区呢[/quote] 如果你想知道客户端的所在地的当地时间,自然要知道时区 但是如果你想知道客户端同一时刻的北京时间,那只要GMT+8不就行了吗?[/quote] 是啊 没错 但是我现在如何知道客户是在哪个时区呢,是要获取IP 通过IP判断时区吗?
  • 打赏
  • 举报
回复
引用 7 楼 pii08 的回复:
[quote=引用 5 楼 dongxinxi 的回复:] http协议头有一个Date域表示的是客户端发送请求的时间(GMT格式),应该是LZ想要的 http://blog.csdn.net/caojunling/article/details/1916899
这个方法获取的是世界标准时间 还得知道客户访问的时区吗,通过时区来换算成客户端的当前时间,如何获取客户所在的时区呢[/quote] 如果你想知道客户端的所在地的当地时间,自然要知道时区 但是如果你想知道客户端同一时刻的北京时间,那只要GMT+8不就行了吗?
pii08 2013-11-06
  • 打赏
  • 举报
回复
引用 5 楼 dongxinxi 的回复:
http协议头有一个Date域表示的是客户端发送请求的时间(GMT格式),应该是LZ想要的 http://blog.csdn.net/caojunling/article/details/1916899
这个方法获取的是世界标准时间 还得知道客户访问的时区吗,通过时区来换算成客户端的当前时间,如何获取客户所在的时区呢
pii08 2013-11-06
  • 打赏
  • 举报
回复
在后台Datetime.Now 获取的是服务器的时间,比如服务器在美国 我在中国访问的时候 这个方法获取的是美国的时间,我知道通过JS方法可以获取中国的当前时间,但是现在由于是在加载的时候 也就是首次访问页面的时候需要用到这个时间,使用隐藏控件得等到POST的时候才能获取。如何在加载的时候后台就能获取中国的当前时间,就是客户端的时间
  • 打赏
  • 举报
回复
http协议头有一个Date域表示的是客户端发送请求的时间(GMT格式),应该是LZ想要的 http://blog.csdn.net/caojunling/article/details/1916899
熙风 2013-11-06
  • 打赏
  • 举报
回复
引用 1 楼 junlinfushi 的回复:
Datetime.Now
+1
pii08 2013-11-06
  • 打赏
  • 举报
回复
Datetime.Now获取的是服务器端时间
shuaidaile 2013-11-06
  • 打赏
  • 举报
回复
放个隐藏控件,在服务器端取
junlinfushi 2013-11-06
  • 打赏
  • 举报
回复
Datetime.Now
Lordard 2013-11-06
  • 打赏
  • 举报
回复
虽然结了帖了还是说一下〜 若不要用JS 你可以用如下的方法 1。当客户端连线时由连线资讯取得IP 2。由IP查表取得地理位置 3。由服务器时间计算用户地理位置的GMT+-N得到客户的时间 試試看吧 ~ 查表资料: http://download.csdn.net/detail/u012546037/6512555
pii08 2013-11-06
  • 打赏
  • 举报
回复
好吧 现结了帖子,确实只能JS来获取客户端时间了,但是我是在页面出现之前就要得到时间,JS获取时间也晚了。 反正还是多谢各位了,我再研究下吧。
  • 打赏
  • 举报
回复
引用 14 楼 Lost_Painting 的回复:
5楼这个回复不严谨,会误导楼主. HTTP Request-Header 中的 Date 这个字段并非是一定有的.并且可以说绝大部分时间不会包含这个字段 参考W3对于Header Field Definitions 14.18 Date ... ... Clients SHOULD only send a Date header field in messages that include an entity-body, as in the case of the PUT and POST requests, and even then it is optional. A client without a clock MUST NOT send a Date header field in a request. ... ... 参考链接: 14 Header Field Definitions to 楼主, 不使用JavaScript,无法保证获取到Client的时间. [quote=引用 5 楼 dongxinxi 的回复:] http协议头有一个Date域表示的是客户端发送请求的时间(GMT格式),应该是LZ想要的 http://blog.csdn.net/caojunling/article/details/1916899
[/quote] 嗯,刚刚抓包看了一下,你说的没错 在客户端发送的Request请求里,没看到有Date字段 而在服务端返回的Response里,基本都有Date字段(按RFC上讲的,有3种情况例外:状态码100、503、没有有效时钟) 看来只有js取客户端时间了,简单省事
鸭梨山大帝 2013-11-06
  • 打赏
  • 举报
回复
先把这个帖子结了先,因为一个帖子最好针对一个问题,这样比较方便后续问问题的进行检索. 如有其他问题,另开帖问,另外,问之前可以看看论坛是否已经有答案了.
引用 16 楼 pii08 的回复:
那好吧 如果使用JS 如何在页面加载的时候获取到正确的客户端时间
pii08 2013-11-06
  • 打赏
  • 举报
回复
我是想在用户点击进入这个页面的时候通过客户端的当地时间进行判断,然后根据判断的结果来输出不同的页面
pii08 2013-11-06
  • 打赏
  • 举报
回复
那好吧 如果使用JS 如何在页面加载的时候获取到正确的客户端时间
jiaoshiyao 2013-11-06
  • 打赏
  • 举报
回复
不用JS。。。。怎么可能 HTMl不包含当前时间想获取客户端的事件就要用JS 楼主干嘛啊
鸭梨山大帝 2013-11-06
  • 打赏
  • 举报
回复
5楼这个回复不严谨,会误导楼主. HTTP Request-Header 中的 Date 这个字段并非是一定有的.并且可以说绝大部分时间不会包含这个字段 参考W3对于Header Field Definitions 14.18 Date ... ... Clients SHOULD only send a Date header field in messages that include an entity-body, as in the case of the PUT and POST requests, and even then it is optional. A client without a clock MUST NOT send a Date header field in a request. ... ... 参考链接: 14 Header Field Definitions to 楼主, 不使用JavaScript,无法保证获取到Client的时间.
引用 5 楼 dongxinxi 的回复:
http协议头有一个Date域表示的是客户端发送请求的时间(GMT格式),应该是LZ想要的 http://blog.csdn.net/caojunling/article/details/1916899
pii08 2013-11-06
  • 打赏
  • 举报
回复
引用 12 楼 server126 的回复:
2楼 试一下
试了好几次 那个是服务器端 的时间 不是客户端的时间 获取的确实是服务器端的时间 和客户端本地时间不同
加载更多回复(3)

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧