如何在 C# 中获取 Unix 时间戳

csharpserver side programmingprogramming更新于 2025/4/17 18:37:17

Unix 时间戳主要用于 Unix 操作系统。但它对所有操作系统都有用,因为它代表所有时区的时间。

Unix 时间戳以秒为单位表示时间。Unix 纪元始于 1970 年 1 月 1 日。

因此,Unix 时间戳是特定日期之间的秒数

示例

使用 DateTime.Now.Subtract().TotalSeconds 方法获取 Unix 时间戳

class Program{
   static void Main(string[] args){
      Int32 unixTimestamp = (Int32)(DateTime.Now.Subtract(new
      DateTime(1970, 1, 1))).TotalSeconds;
      Console.WriteLine("The Unix Timestamp is {0}", unixTimestamp);
      Console.ReadLine();
   }
}

输出

1596837896

示例

使用 DateTimeOffset.Now.ToUnixTimeSeconds() 方法获取 Unix 时间戳

class Program{
   static void Main(string[] args){
      var unixTimestamp = DateTimeOffset.Now.ToUnixTimeSeconds();
      Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
      Console.ReadLine();
   }
}

输出

1596819230.

示例

使用 TimeSpan 结构方法获取 Unix 时间戳

class Program{
   static void Main(string[] args){
      TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);
      TimeSpan unixTicks = new TimeSpan(DateTime.Now.Ticks) - epochTicks;
      Int32 unixTimestamp = (Int32)unixTicks.TotalSeconds;
      Console.WriteLine("The Unix Timestamp is {0}.", unixTimestamp);
      Console.ReadLine();
   }
}

输出

1596839083

相关文章