C# 如何转换生成长整型的时间


C# 如何转换生成长整型的时间_第1张图片

这个数字字符串就是我们平常所说的时间戳。

什么是时间戳?

时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

C# 将这种长整型数字转换成DataTime

///

/// 转换时间戳为C#时间

///

/// 时间戳 单位:毫秒

/// C#时间

public static DateTime ConvertTimeStampToDateTime(long timeStamp)

{

    DateTime defaultTime = new DateTime(1970, 1, 1, 0, 0, 0);

    long defaultTick = defaultTime.Ticks;

    long timeTick = defaultTick + timeStamp * 10000;

    //// 东八区 要加上8个小时

    DateTime dt = new DateTime(timeTick).AddHours(8);

    return dt;

}

///

/// DateTime时间格式转换为Unix时间戳格式

///

/// DateTime时间格式

/// Unix时间戳格式  单位:毫秒

public static long ConvertToTimestamp(DateTime time)

{

    DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));

    return (long)(time - startTime).TotalSeconds * 1000;

}


你可能感兴趣的:(C# 如何转换生成长整型的时间)