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;
}

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *