javascript - 在 MVC View 中使用 JavaScript 将 UTC 时间转换为客户端浏览器的时区

标签 javascript asp.net-mvc

我的网站上有一个模块,登录用户可以在其中对任何文章发表评论。我正在将 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/

相关文章:

javascript - Firebase 函数 - 写入数据库

php - 使用谷歌浏览器的 php 包含奇怪的 javascript 行为

asp.net-mvc - Ninject、MVC 和 session 范围 : Reasonable Practice?

c# - 扩展 UserManager 以允许管理新用户数据?

javascript - Node.js、Express 和 Mongoose 提供多个静态文件

javascript - 根据路由 Angular 4 切换组件

javascript - 哪些 JavaScript 库将处理弹出窗口(例如 Meebo 或 Gmail 聊天窗口)?

c# - knockout : Posting complex type to MVC controller query

c# - 在 mvc4 中的 Global.asax session 超时时重定向

asp.net-mvc - 来自对象的动态导航