我认为您需要通过JavaScript捕获它,然后将其发送回服务器(例如,使用AJAX).
在JavaScript中:var d = new Date()将捕获您需要的内容.
http://www.w3schools.com/js/js_obj_date.asp
小智 5
这是我的解决方案:
注意:需要jQuery.
在_Layout文件的头部(或所有_Layout文件,如果有多个),在jQuery声明之后,放入:
@if (Session["UTCOffset"] == null)
{
<script type="text/javascript">
$.post('/Home/SetUTC', { UTC: new Date().getTimezoneOffset() }, function (data) { location.reload(); });
</script>
}
Run Code Online (Sandbox Code Playgroud)
在Home控制器(或您使用的任何控制器)中,放入:
public JsonResult SetUTC(int UTC)
{
Session["UTCOffset"] = (-1*UTC).ToString();
return Json(null);
}
Run Code Online (Sandbox Code Playgroud)
打印日期时间时,请使用(在此示例中为DateTime.Now):
(DateTime.Now).ToUniversalTime().AddMinutes(double.Parse((string)Session["UTCOffset"]??"-300.00")).ToString("MM-dd-yyyy")
Run Code Online (Sandbox Code Playgroud)
-300是中心时间(我的时区).如果他们点击的第一页上有任何日期,它们将在中央时间显示.大约一秒钟.然后页面将被重新加载,事情应该按预期工作.
我敢肯定这可能会以某种方式适应非MVC设置,但我会留给其他人.
| 归档时间: |
|
| 查看次数: |
5148 次 |
| 最近记录: |