如何获取与时区无关的时间

本文关键字:时区 时间 何获取 获取 | 更新日期: 2023-09-27 18:01:01

我正在创建一个应用程序,在其中我发布部分基于时间戳的哈希。但是,我如何在客户端获得与用户时区无关的时间,因为客户端和服务器很可能不在同一时区?

如何获取与时区无关的时间

听起来你想要DateTime.UtcNow。不过,这仍然是基于本地系统时钟的——如果你在任何类型的安全上下文中需要它,你很可能不想信任用户的时钟,而应该只信任服务器上的时间戳。这真的取决于你的要求。

请注意,如果格式化DateTime.UtcNow的结果(例如用于通信(,则应在不变区域性中对其进行格式化。即使您指定了自定义格式,如果用户的文化使用不同的日历(例如伊斯兰日历(,您最终也会得到不同的结果。

或者,如果只是想要一个时间戳,请使用DateTime.Ticks(当然是根据调用DateTime.UtcNow的结果(。听起来你并不真正关心人类对月份、年份、一天中的时间等的任何概念——你只想要一个测量时间的任意值,这就是Ticks带给你的。

使用日期时间。UtcNow符合您的目的。

获取设置为上的当前日期和时间的DateTime对象这台计算机,表示为协调世界时(UTC(。