DateTimeOffset.ToUnixTimeSeconds 方法      
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回自 1970-01-01T00:00:00.00Z 起已经过的秒数。
public:
 long ToUnixTimeSeconds();public long ToUnixTimeSeconds ();member this.ToUnixTimeSeconds : unit -> int64Public Function ToUnixTimeSeconds () As Long返回
自 1970-01-01T00:00:00.00Z 起已经过的秒数。
示例
以下示例调用 ToUnixTimeSeconds 该方法以返回值在 1970-01-01-01T00:00:00Z 之后不久等于、早于 1970-01T00:00Z 的值的 Unix 时间。
using System;
public class Example
{
   public static void Main()
   {
      DateTimeOffset dto = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
      Console.WriteLine("{0} --> Unix Seconds: {1}", dto, dto.ToUnixTimeSeconds());
      dto = new DateTimeOffset(1969, 12, 31, 23, 59, 0, TimeSpan.Zero);
      Console.WriteLine("{0} --> Unix Seconds: {1}", dto, dto.ToUnixTimeSeconds());
      dto = new DateTimeOffset(1970, 1, 1, 0, 1, 0, TimeSpan.Zero);
      Console.WriteLine("{0} --> Unix Seconds: {1}", dto, dto.ToUnixTimeSeconds());
   }
}
// The example displays the following output:
//    1/1/1970 12:00:00 AM +00:00 --> Unix Seconds: 0
//    12/31/1969 11:59:00 PM +00:00 --> Unix Seconds: -60
//    1/1/1970 12:01:00 AM +00:00 --> Unix Seconds: 60
open System
[<EntryPoint>]
let main _ =
    let dto = DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero)
    printfn $"{dto} --> Unix Seconds: {dto.ToUnixTimeSeconds()}"
    let dto = DateTimeOffset(1969, 12, 31, 23, 59, 0, TimeSpan.Zero)
    printfn $"{dto} --> Unix Seconds: {dto.ToUnixTimeSeconds()}"
    let dto = DateTimeOffset(1970, 1, 1, 0, 1, 0, TimeSpan.Zero)
    printfn $"{dto} --> Unix Seconds: {dto.ToUnixTimeSeconds()}"
    0
// The example displays the following output:
//    1/1/1970 12:00:00 AM +00:00 --> Unix Seconds: 0
//    12/31/1969 11:59:00 PM +00:00 --> Unix Seconds: -60
//    1/1/1970 12:01:00 AM +00:00 --> Unix Seconds: 60
Module Example
   Public Sub Main()
      Dim dto As DateTimeOffset = New DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero)
      Console.WriteLine("{0} --> Unix Seconds: {1}", dto, dto.ToUnixTimeSeconds())
      dto = New DateTimeOffset(1969, 12, 31, 23, 59, 0, TimeSpan.Zero)
      Console.WriteLine("{0} --> Unix Seconds: {1}", dto, dto.ToUnixTimeSeconds())
      dto = New DateTimeOffset(1970, 1, 1, 0, 1, 0, TimeSpan.Zero)
      Console.WriteLine("{0} --> Unix Seconds: {1}", dto, dto.ToUnixTimeSeconds())
   End Sub
End Module
' The example displays the following output:
'       1/1/1970 12:00:00 AM +00:00 --> Unix Seconds: 0
'       12/31/1969 11:59:00 PM +00:00 --> Unix Seconds: -60
'       1/1/1970 12:01:00 AM +00:00 --> Unix Seconds: 60
注解
Unix 时间表示自 1970-01-01T00:00:00Z (1970 年 1 月 1 日凌晨 12:00 UTC) 所经过的秒数。 它不考虑飞跃秒。
此方法首先将当前实例转换为 UTC,然后返回其 Unix 时间。 对于 1970-01-01T00:00:00Z 之前的日期和时间值,此方法返回负值。