Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức DateTimeOffset.ToUnixTimeSeconds() trong C#


Phương thức DateTimeOffset.ToUnixTimeSeconds() trong C# được sử dụng để trả về số giây đã trôi qua kể từ 1970-01-01T00:00:00Z (Unix epoch).

Cú pháp

Dưới đây là cú pháp:

public long ToUnixTimeSeconds ();

Ví dụ 1 - Thời gian trước Unix epoch

Hãy xem ví dụ sau để triển khai phương thức DateTimeOffset.ToUnixTimeSeconds():

using System;
public class Demo {
    public static void Main() {
        DateTimeOffset dateTimeOffset = new DateTimeOffset(1967, 11, 11, 6, 15, 45, new TimeSpan(3, 0, 0));
        Console.WriteLine("DateTimeOffset = {0}", dateTimeOffset);
        Console.WriteLine("Number of seconds: " + dateTimeOffset.ToUnixTimeSeconds());
        DateTimeOffset res = dateTimeOffset.ToOffset(new TimeSpan(-5, 0, 0));
        Console.WriteLine("\nDateTimeOffset (updated) = {0}", res);
        Console.WriteLine("Number of seconds: " + res.ToUnixTimeSeconds());
    }
}

Đầu ra

Chương trình sẽ cho ra kết quả sau:

DateTimeOffset = 11/11/1967 6:15:45 AM +03:00
Number of seconds: -67553055
DateTimeOffset (updated) = 11/10/1967 10:15:45 PM -05:00
Number of seconds: -67553055

Ví dụ 2 - Thời gian sau Unix epoch

Ví dụ khác triển khai phương thức DateTimeOffset.ToUnixTimeSeconds():

using System;
public class Demo {
    public static void Main() {
        DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 11, 11, 6, 15, 45, new TimeSpan(3, 0, 0));
        Console.WriteLine("DateTimeOffset = {0}", dateTimeOffset);
        Console.WriteLine("Number of seconds: " + dateTimeOffset.ToUnixTimeSeconds());
        DateTimeOffset res = dateTimeOffset.ToOffset(new TimeSpan(-5, 0, 0));
        Console.WriteLine("\nDateTimeOffset (updated) = {0}", res);
        Console.WriteLine("Number of seconds: " + res.ToUnixTimeSeconds());
    }
}

Đầu ra

Chương trình sẽ cho ra kết quả sau:

DateTimeOffset = 11/11/2019 6:15:45 AM +03:00
Number of seconds: 1573442145
DateTimeOffset (updated) = 11/10/2019 10:15:45 PM -05:00
Number of seconds: 1573442145

Lưu ý: Giá trị Unix timestamp không thay đổi khi chuyển đổi múi giờ (offset), vì nó luôn tính theo UTC.