Bài viết hôm nay hướng dẫn các bạn cách chuyển đổi Timestamp sang kiểu dữ liệu ngày tháng DateTime trong lập trình C#, Winform.
Vậy TimeStamp là gì?
TimeStamp hay tên các bạn thường thấy là Unix timestamp.
Khái niệm quen thuộc trong hệ thống Unix và lập trình C#.
Thời gian Unix, là hệ thống nhằm diễn tả một điểm trên trục thời gian, theo trục thời gian nó sử dụng số giây kể để xác định thời điểm, với điểm gốc từ thời điểm 00:00:00 ngày 1/1/1970 (UTC).
Ví dụ lúc 00:00:00 - 1/1/2017
có giá trị timestamp
là 1483228800
; Có nghĩa là tính từ 00h:00m:00s ngày 1/1/1970
đến 00h:00m:00s ngày 1/1/2017
là 1483228800
giây.
12/09/2021 (17:05:02) ⇒ 1631441102
Hàm chuyển đổi tính đến đơn vị giây
public static DateTime UnixTimeStampToDateTime( double unixTimeStamp )
{
// Unix timestamp is seconds past epoch
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dateTime = dateTime.AddSeconds( unixTimeStamp ).ToLocalTime();
return dateTime;
}
Hàm thường hay được sử dụng trong Java tính đến milisecond
public static DateTime JavaTimeStampToDateTime( double javaTimeStamp )
{
// Java timestamp is milliseconds past epoch
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dateTime = dateTime.AddMilliseconds( javaTimeStamp ).ToLocalTime();
return dateTime;
}