Javascript 在asp.net mvc中获取客户端计算机时区

Javascript 在asp.net mvc中获取客户端计算机时区,javascript,asp.net-mvc,timezone,client,Javascript,Asp.net Mvc,Timezone,Client,如何在asp.net mvc中获取客户端计算机的时区id(例如:中央标准时间?必须在Javascript端完成,并将该值发布到隐藏字段中返回到服务器。查看。中的信息不会发送到服务器,因此没有简单的方法可以做到这一点。一种选择是在地理位置数据库中查找IP。这是一个 您还可以使用javascript Date.getTimezoneOffset()执行ajax回发 并将其存储在会话或用户数据中。如果在客户端显示时间时遇到问题,则可以执行以下操作 我编写了一个DateTime类的扩展,它为我进行转换

如何在asp.net mvc中获取客户端计算机的时区id(例如:中央标准时间?

必须在Javascript端完成,并将该值发布到隐藏字段中返回到服务器。查看。

中的信息不会发送到服务器,因此没有简单的方法可以做到这一点。一种选择是在地理位置数据库中查找IP。这是一个

您还可以使用javascript Date.getTimezoneOffset()执行ajax回发


并将其存储在会话或用户数据中。

如果在客户端显示时间时遇到问题,则可以执行以下操作 我编写了一个DateTime类的扩展,它为我进行转换

public static MvcHtmlString ToClientTime(this DateTime dateTime){
   var builder = new TagBuilder("span");
   builder.MergeAttribute("data-utc-time",dateTime.ToString());
   builder.SetInnerText(string.Format("{0} (UTC)", dateTime.ToString()));
   return new MvcHtmlString(builder.ToString());
}
然后我添加了一个javascript文件,让momentjs在客户端处理转换

$(document).ready(function() {
  $("[data-utc-time]").text(function () {
    var utcTime = $(this).attr("data-utc-time");
    return moment.utc(utcTime, 'DD.MM.YYYY HH:mm').local().format('DD.MM.YYYY HH:mm');
});
$(document).ready(function() {
  $("[data-utc-time]").text(function () {
    var utcTime = $(this).attr("data-utc-time");
    return moment.utc(utcTime, 'DD.MM.YYYY HH:mm').local().format('DD.MM.YYYY HH:mm');
});