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) {