在DateTime和unix时间戳之间转换的有效C#方法是什么

本文关键字:有效 方法 是什么 转换 之间 DateTime unix 时间戳 | 更新日期: 2023-09-27 18:19:40

我有两个函数要在.NET DateTime和Unix时间戳之间转换。但我不确定我是否考虑了时区(EPOCH和DateTime参数)。请帮助:

public class Util
{
    static DateTime EPOCH = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
    public static DateTime ConvertUnixTimeStamp(ulong unixTimeStamp)
    {
        var dt = EPOCH.AddSeconds(unixTimeStamp);
        return dt;
    }
    public static double ConvertDatetimeToUnixTimeStamp(DateTime dt)
    {
        TimeSpan t = (dt - EPOCH);
        return Math.Floor(t.TotalSeconds);
    }
}

在DateTime和unix时间戳之间转换的有效C#方法是什么

    static DateTime EPOCH = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
    public static double ConvertDatetimeToUnixTimeStamp(DateTime date , int Time_Zone = 0)
    {
        TimeSpan The_Date = (date - EPOCH);
        return Math.Floor(The_Date.TotalSeconds) - (Time_Zone * 3600);
    }