Utc时间跟Local时间的区别

utctime=localTime+localOffset; timeOffset is in minutes

 

 注意在C#中,ToLocalTime()?是不是根据服务器的时间,真正要换成客户的时间,只能用timezoneoffset吗?

客户端timezoneoffset的获取方法是: var offSet = new Date().getTimezoneOffset();

把这个传到服务器里,用utctime-offSet就是客户端的时间,注意offSet是根据分钟数的。

 

UTC即世界标准时间,北京时间与UTC的时差为+8,也就是UTC+8=北京时间

一般保存在数据库里是存UTC时间,然后在页面再转为LOCAL时间。

JS把UTC时间转为LOCAL时间的方法如下:

   var localDate = new Date(utcDate.toString());

LOCAL时间跟UTC时间的区别代码测试如下:

后端代码:

using System;
using System.Web.Mvc;

namespace CloudCodeTest.Controllers
{
    public class TimeTestController : Controller
    {
        // GET: TimeTest
        public ActionResult Index()
        {
            DateTime utcTime = DateTime.UtcNow;
            DateTime localTime = DateTime.Now;
            // return View(utcTime);//好像不能直接这么写,需要建立一个Model,如下:
            var model = new DateTimeTestModel
            {
                utcTime = utcTime,
                localTime = localTime
            };
            return View(model);

        }
    }

    public class DateTimeTestModel
    {
        public DateTime utcTime { get; set; }
        public DateTime localTime { get; set; }
    }
}

前端代码:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

UTC 时间为: @Model.utcTime
<br />
本地时间为:@Model.localTime

测试结果如下:

 

 代码目录:C...CodeTest=>TimeTestController

 

posted @ 2022-02-11 16:56  katesharing  阅读(1497)  评论(0编辑  收藏  举报