C#时间戳和DateTime的相互转换

时间戳 10-25 21:18

什么是时间戳:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳在线转换网址:http://www.ku51.net/timestamp/,时间戳的转换网址有很多。

下附代码,在控制台中粘贴在启动类即可使用,需引用(using System)命名空间 ;


/// <summary>  
/// 将c# DateTime时间格式转换为Unix时间戳格式  
/// </summary>  
///<param name="time" />时间  
/// <returns>long</returns>  
public static long ConvertDateTimeToLong(DateTime time)
{
    DateTime startTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0, 0), TimeZoneInfo.Local);
    long t = (time.Ticks - startTime.Ticks) / 10000;   //除10000调整为13位      
    return t;
}

/// <summary>
/// 时间戳转为C#格式时间
/// </summary>
///<param name="”timeStamp”" />
/// <returns></returns>
public static DateTime ConvertLongToDateTime(long timeStamp)
{
    DateTime dtStart = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0, 0), TimeZoneInfo.Local);
    long lTime = timeStamp * 10000;
    TimeSpan toNow = new TimeSpan(lTime);
    return dtStart.Add(toNow);
}

相关推荐