我的网站上有一个模块,登录用户可以在其中对任何文章发表评论。我正在将 UTC 时间
保存为数据库中的发布时间。根据我的要求,我需要显示评论的发布时间
以及发布时间和当前时间之间的时差
(例如最后一次在 Facebook 上看到的时间或在 Facebook 上发表评论的时间)与评论。发布的时间必须显示在客户端浏览器的时区
。
例如:用户 XYZ 已在 01:00 UTC
发表评论,并且
如果 XYZ 的帐户是从印度登录的,则
timezone
必须是印度时区 (UTC+05:30)
时间将显示为上午 6:30。如果 XYZ 的帐户是从新加坡登录的,则时区必须是
新加坡时区(UTC+8:00)
并且时间会显示 上午 9:00。
为了实现上述目标,我在网上搜索并找到了这篇文章 get client time zone from browser这对于获取客户端浏览器的 timezone
非常有帮助。 (我还不能测试它是否能正确转换时间)
现在的主要问题是将 UTC 时间转换为给定的 timezone
(我正在使用这里提到的解决方案 get client time zone from browser)。
请分享建议。
最佳答案
如果你得到时区的名称,你可以像这样从 UTC 得到时间:
var utc = DateTime.UtcNow;
var tz = TimeZoneInfo.FindSystemTimeZoneById("The Timezone");
return TimeZoneInfo.ConvertTimeFromUtc(utc, tz);
希望这对您有所帮助。
关于javascript - 在 MVC View 中使用 JavaScript 将 UTC 时间转换为客户端浏览器的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25364698/