📌  相关文章
📜  c# 将 datetime 转换为 unix 时间戳 - C# (1)

📅  最后修改于: 2023-12-03 14:39:46.305000             🧑  作者: Mango

C# 将 DateTime 转换为 Unix 时间戳

在 C# 中,我们可以将 DateTime 对象转换为 Unix 时间戳。Unix 时间戳是自 1970 年 1 月 1 日午夜(格林威治标准时间)以来经过的秒数。

以下是将 DateTime 对象转换为 Unix 时间戳的方法:

using System;

public static class DateTimeExtensions
{
    public static long ToUnixTimestamp(this DateTime dateTime)
    {
        var unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
        var utcDateTime = dateTime.ToUniversalTime();
        var timeSpan = utcDateTime - unixEpoch;
        return (long)timeSpan.TotalSeconds;
    }
}

可以将上述代码片段放在一个单独的文件中或者放在需要使用的类中。

接下来,我们可以使用 ToUnixTimestamp 方法将 DateTime 对象转换为 Unix 时间戳。

DateTime dateTime = DateTime.Now; // 当前时间
long unixTimestamp = dateTime.ToUnixTimestamp();
Console.WriteLine(unixTimestamp);

以上代码会将当前时间转换为 Unix 时间戳并打印输出。注意,为了获得准确的 Unix 时间戳,我们使用 ToUniversalTime 方法将时间转换为协调世界时(UTC)。

希望以上信息能对您有所帮助!有关更多关于 C# 的问题,请随时提问。