ajb*_*ven 0 c# datetime locale localization
我有一个网站,使用代码显示当前日期Datetime.Now
.根据我的理解,Datetime.Now应该显示当前时间,因为它将显示在查看器的当前区域设置中.
目前,当我在localhost上测试时,网站正确地确定我的位置(en-nz)并显示正确的日期.但是,当我现场运行网站时,我会得到一个不同的约会日期.
那么系统如何确定查看者的语言环境以及为什么我的网站在本地和现场显示Datetime.Now之间存在差异?
DateTime.Now具有服务器的时间,但不是客户端的时间.如果要检测客户端的时间,则需要使用Javascript,通过检测时间或使用时区计算.
在您的localhost工作正常,因为服务器和客户端在同一个PC /时区
希望能帮助到你!
不,DateTime.Now
将检索正在运行的机器的本地时区的当前时间.换句话说,假设你正在编写一个Web应用程序(你还没有说清楚),你的情况下的Web服务器.
如果你想在浏览器的本地时区显示它,你可能最好发送DateTime.UtcNow
一些JavaScript来将其转换为当地时间...或者只是让JavaScript在用户系统上计算当前时间.
据我所知,没有办法准确地从JavaScript中获取时区.您可以从UTC获取当前偏移量,但这与时区本身不同.(由于DST之类的东西,偏移量会发生变化;知道当前的偏移量并不会告诉您DST何时会启动.)