UTC时间与北京时间相互转换
2016-11-23 23:34
507 查看
第一种方法
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。public class HomeController : Controller { public ActionResult Index() { //本地时间(北京时间) DateTime dt = Convert.ToDateTime("2016-06-11 23:59:59"); //TimeZone类表示时区,TimeZone.CurrentTimeZone方法:获取当前计算机的时区。 TimeZone tz = TimeZone.CurrentTimeZone; //获取当前计算机的时区与utc时间的时间差(北京时间和utc时间相差8个小时) TimeSpan ts = tz.GetUtcOffset(dt); //将当前计算机所在时区的时间(即:北京时间) 转换成UTC时间 DateTime dtGMT = tz.ToUniversalTime(dt); //将UTC时间转换成本地时间 DateTime localtime = tz.ToLocalTime(dtGMT); return View(); } }
第二种方法
public class HomeController : Controller { public ActionResult Index() { //本地时间(北京时间) DateTime dt = Convert.ToDateTime("2016-06-11 23:59:59"); //将北京时间转换成utc时间 (北京时间是utc时间+8小时,所以此时utc时间应该是 2016-06-11 15:59:59) DateTime utcNow = dt.ToUniversalTime(); //将utc时间转换成秒 (即将1970-01-01 00:00:00 到 2016-06-11 15:59:59的时间转换成秒) double utc = ConvertDateTimeInt(utcNow); //将秒数转换成北京时间 (其实就是将utc时间转换成北京时间),所以又得到2016-06-11 23:59:59 DateTime dtime = ConvertIntDatetime(utc); return View(); } /// <summary> /// 将时间转换成秒(这个秒是指1970-1-1 00:00:00 到你指定的时间之间的秒数) /// </summary> /// <param name="time">指定时间</param> /// <returns>秒数</returns> public double ConvertDateTimeInt(System.DateTime time) { double intResult = 0; System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); intResult = (time - startTime).TotalSeconds; return intResult; } /// <summary> /// 将秒数转换成北京时间 /// </summary> /// <param name="utc">秒数</param> /// <returns>北京时间</returns> public DateTime ConvertIntDatetime(double utc) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); startTime = startTime.AddSeconds(utc); startTime = startTime.AddHours(8);//转化为北京时间(北京时间=UTC时间+8小时 ) return startTime; } }
相关文章推荐
- UNIX Time 时间戳 与 北京时间 相互转换
- iOS UTC秒数时间戳和日期的相互转换
- Unix时间戳(Unix timestamp) → 北京时间相互转换
- SQL Server本地时间和UTC时间的相互转换实现代码
- SQL Server 本地时间和UTC时间的相互转换
- php将UTc时间转换为北京时间
- SQL Server 本地时间和UTC时间的相互转换
- c# UTC时间和本地时间转换(北京时间)
- SQL Server本地时间和UTC时间的相互转换实现代码
- UTC时间与本地时间的相互转换
- UTC时间字符串转换为本地时间(北京)
- JAVA实现UTC时间转换成北京时间
- SQL Server本地时间和UTC时间的相互转换实现代码
- unix time 和北京时间相互转换的公式
- Unix时间戳和北京时间相互转换
- UTC和时间相互转换
- SQL Server 本地时间和UTC时间的相互转换的代码
- java本地时间与UTC时间相互转换
- 解析美国东部时间与北京时间相互转换的实现代码
- php时间戳与字符串的相互转换