Unix_Dt.cs代码:
public class Unix_Dt
{
private static DateTime _baseTime = new DateTime(1970, 1, 1);
/// <summary>
/// 将unixtime转换为.NET的DateTime
/// </summary>
/// <param name="timeStamp">秒数</param>
/// <returns>转换后的时间</returns>
public static DateTime FromUnixTime(long timeStamp)
{
return new DateTime((timeStamp + 8 * 60 * 60) * 10000000 + _baseTime.Ticks);
}
/// <summary>
/// 将.NET的DateTime转换为unix time
/// </summary>
/// <param name="dateTime">待转换的时间</param>
/// <returns>转换后的unix time</returns>
public static long FromDateTime(DateTime dateTime)
{
return (dateTime.Ticks - _baseTime.Ticks) / 10000000 - 8 * 60 * 60;
}
/// <summary>
/// 将.NET的DateTime转换为unix time
/// </summary>
/// <param name="dateTime">待转换的东八区时间</param>
/// <returns>转换后的unix time</returns>
public static long FromDateTimeByGMT8(DateTime dateTime)
{
return (dateTime.Ticks - _baseTime.Ticks) / 10000000;
}
}
本文提供了一个C#类Unix_Dt,用于实现Unix时间戳与.NET DateTime类型的相互转换。包括将Unix时间转换为DateTime、将DateTime转换为Unix时间及东八区时间对应的Unix时间的转换方法。
865

被折叠的 条评论
为什么被折叠?



