我正在创建一个应用程序,我发布部分基于时间戳的哈希值。但是我如何在客户端获得与用户时区无关的时间,因为客户端和服务器最不可能在同一时区?
答案 0 :(得分:7)
听起来你想要DateTime.UtcNow
。这仍将基于本地系统时钟 - 如果您在任何类型的安全上下文中需要它,您很可能不想信任用户的时钟,并且应该只信任服务器上的时间戳。这取决于你的要求,真的。
请注意,如果您格式化 DateTime.UtcNow
的结果(例如用于通信),则应在不变文化中对其进行格式化。即使您指定了自定义格式,如果用户的文化是使用不同日历的文化(例如伊斯兰日历),您最终会得到不同的结果。
或者,当您只是想要时间戳时,请使用DateTime.Ticks
(当然,在调用DateTime.UtcNow
的结果上)。听起来你并不真正关心几个月,几年,一天中的任何人类概念等等 - 你只需要一个任意值的测量时间,这是Ticks
给你的。
答案 1 :(得分:4)
将DateTime.UtcNow用于您的目的。
获取一个设置为当前日期和时间的DateTime对象 这台计算机,以协调世界时(UTC)表示。