在 C# 中,当我尝试使用 UTC 时间获取页面的当前时间时。我得到一个空值。我首先认为该问题可能与 runat="server" 属性设置不正确或浏览器未正确接受 cookie 有关。然而,这两者似乎都不是问题。这是否意味着我在某处缺少钥匙?
任何想法或建议都将受到欢迎。
Session 对象本身没有任何内容。你需要先把价值放在那里。结果,不存在的键返回空(null)结果。
我不知道你从哪里得到这个代码片段,但你必须Session
自己在某个地方设置对象中的值。如果您想获取客户端时钟与 UTC 的偏移量,您可以在此处查看此站点:Getting the client UTC Offset with ASP.NET
当然,在您交付第一页时,您无法知道客户的时间。此外,如果客户端禁用了 javascript,您将永远无法获得信息。在这种情况下,您必须“猜测”偏移量,或者使用一些默认值,例如您的服务器时间。
会话不会自动填充,因此如果您手动将其放入其中,我们将需要更多关于何时何地的上下文。
不过,我不清楚您为什么要暂时查看会话集合。
当您说“页面的当前时间”时,您在说什么?你只想要当前时间吗?那就是DateTime.UtcNow
。或者您正在寻找客户时钟设置的时间?