From 9ea56e5acb9c213d6cfba758707c3def9a6e329d Mon Sep 17 00:00:00 2001 From: bicijinlian Date: Fri, 19 Jul 2019 19:14:26 +0800 Subject: [PATCH] =?UTF-8?q?utc=E6=97=B6=E9=97=B4=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DateTimeExtensionsTest.cs | 19 ++++++++++++++++ DateTimeStudy/DateTimeExtensions.cs | 22 ++++++++++++++++++- DateTimeStudy/DateTimeStudy.cs | 3 +-- 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 DateTimeStudy.XUnitTest/DateTimeExtensionsTest.cs diff --git a/DateTimeStudy.XUnitTest/DateTimeExtensionsTest.cs b/DateTimeStudy.XUnitTest/DateTimeExtensionsTest.cs new file mode 100644 index 0000000..2c817cb --- /dev/null +++ b/DateTimeStudy.XUnitTest/DateTimeExtensionsTest.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; + +using DateTimeStudy; + +namespace DateTimeStudy.XUnitTest +{ + public class DateTimeExtensionsTest + { + [Fact] + public void Test() + { + var aa = DateTime.Now.ToUtcTimestamp(); + var cc = aa.ToLocalTime(); + } + } +} diff --git a/DateTimeStudy/DateTimeExtensions.cs b/DateTimeStudy/DateTimeExtensions.cs index 22de52f..3b43e80 100644 --- a/DateTimeStudy/DateTimeExtensions.cs +++ b/DateTimeStudy/DateTimeExtensions.cs @@ -7,7 +7,27 @@ namespace DateTimeStudy /// /// DateTime扩展类 /// - public class DateTimeExtensions + public static class DateTimeExtensions { + /// + /// 以毫秒为单位的UTC时间戳 + /// + public static long ToUtcTimestamp(this DateTime sourceDate) + { + var utcTimeStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + return (sourceDate - utcTimeStart).Ticks; + } + + /// + /// 毫秒单位UTC时间戳转当地时间 + /// + public static DateTime ToLocalTime(this long utcTimestamp) + { + DateTime utcTimeStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + var timeSpan = new TimeSpan(utcTimestamp); + + return utcTimeStart.Add(timeSpan).ToLocalTime(); + } } } diff --git a/DateTimeStudy/DateTimeStudy.cs b/DateTimeStudy/DateTimeStudy.cs index 42258cc..24890d2 100644 --- a/DateTimeStudy/DateTimeStudy.cs +++ b/DateTimeStudy/DateTimeStudy.cs @@ -116,8 +116,7 @@ namespace DateTimeStudy } /// - /// 获取当前时间的UTC时间戳( - /// 单位:毫秒 + /// 毫秒单位UTC时间戳转当地时间 /// public static DateTime UtcTimestamp2DateTime(long utcTimestamp) {