javascript - 将 UTC 日期时间从服务器转换为网页上的本地日期时间

标签 javascript .net datetime razor utc

我在Sql中有一个DateTime列字段,它将值存储为UTC。现在我有一个要求,在我的报告中,我必须根据用户访问报告的地理位置将 UTC 转换为 本地时间

现在我知道 ToLocalTime() 会将其转换为必需的,但同时它将转换为部署应用程序的位置,即服务器而不是用户的地理位置。

这是我的代码片段..

<td>@string.Format("{0:yyyy-MMM-dd HH:mm:ss}", user.StatusDateTime.ToLocalTime())</td>

我在用户界面中使用 Razor View 和 javascript/jquery
可能的解决方案是什么?

最佳答案

好的,您可以做的是将日期传递给 View (不使用 .ToLocalTime()),然后使用 JavaScript 呈现本地日期,如链接中所示。

<script>document.write(new Date('@user.StatusDateTime.ToString("yyyy-MM-dd hh:mm:ss UTC")').toString());</script>

注意 .ToString("yyyy-MM-dd hh:mm:ss UTC") 以满足 JavaScript 的要求(我想还有更好的方法)。

编辑

如果您想以某种特定格式显示日期(例如2015-12-22 12:11:38),您可以使用自定义 JavaScript 函数。这是一个例子。

function getFormattedLocalDate(utcDateString) {
    var date = new Date(utcDateString);
    var months = [
      "Jan", "Feb", "Mar", "Apr", "May", "Jun", 
      "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
    ];
    var formattedDate = date.getFullYear() + '-' + months[date.getMonth()] + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
    return formattedDate;
}

查看 live

编辑2

html 表格内使用示例 here .

关于javascript - 将 UTC 日期时间从服务器转换为网页上的本地日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34529257/

相关文章:

c# - 使用 C#、asp.net 插入 Outlook 约会

python - 日期时间格式与内容不匹配

datetime - Delphi:删除目录中早于 X 天和/或具有特殊文件掩码 (*.xxx) 的文件

mysql - 如何在sql中从周数和日期获取日期?

javascript - 如何从字符串中删除 html DOM 元素(使用 JavaScript)?

javascript - emberjs - 测试 - 单击带有链接助手的链接

c# - 在 C# 中对 HashSet 进行类型转换

c# - "for(;;)"在 C# 中有什么作用?

javascript - 有没有更短/更有效的方法来使用 javascript 中的传播运算符来更新键的值?

javascript - 与特定类(class)的大多数 child 一起获取元素