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.