|
@@ -1,4 +1,5 @@
|
|
|
using System;
|
|
using System;
|
|
|
|
|
+using System.Diagnostics;
|
|
|
|
|
|
|
|
namespace Masuit.Tools.DateTimeExt
|
|
namespace Masuit.Tools.DateTimeExt
|
|
|
{
|
|
{
|
|
@@ -8,6 +9,8 @@ namespace Masuit.Tools.DateTimeExt
|
|
|
public static class DateUtil
|
|
public static class DateUtil
|
|
|
{
|
|
{
|
|
|
private static readonly DateTime Start1970 = DateTime.Parse("1970-01-01 00:00:00");
|
|
private static readonly DateTime Start1970 = DateTime.Parse("1970-01-01 00:00:00");
|
|
|
|
|
+ private static readonly long Ticks1970 = Start1970.Ticks;
|
|
|
|
|
+
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 返回相对于当前时间的相对天数
|
|
/// 返回相对于当前时间的相对天数
|
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -62,6 +65,20 @@ namespace Masuit.Tools.DateTimeExt
|
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
|
public static double GetTotalMilliseconds(this DateTime dt) => (dt - Start1970).TotalMilliseconds;
|
|
public static double GetTotalMilliseconds(this DateTime dt) => (dt - Start1970).TotalMilliseconds;
|
|
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 获取该时间相对于1970-01-01 00:00:00的微秒时间戳
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="dt"></param>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ public static long GetTotalMicroseconds(this DateTime dt) => (dt - Start1970).Ticks / 10;
|
|
|
|
|
+
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 获取该时间相对于1970-01-01 00:00:00的纳秒时间戳
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <param name="dt"></param>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ public static long GetTotalNanoseconds(this DateTime dt) => (dt - Start1970).Ticks * 100 + Stopwatch.GetTimestamp() % 100;
|
|
|
|
|
+
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 获取该时间相对于1970-01-01 00:00:00的分钟数
|
|
/// 获取该时间相对于1970-01-01 00:00:00的分钟数
|
|
|
/// </summary>
|
|
/// </summary>
|