我在Unix Timestamp
转换DateTime
时遇到一些问题。
这是Timestamp
:1521932400
我想在DateTime
转换它,所以我写了这段代码:
public static DateTime UnixTimeStampToDateTime(long unixTimeStamp)
{
DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
dtDateTime = dtDateTime.AddSeconds(unixTimeStamp);
return dtDateTime;
}
基本上我宣布一个DateTime
,然后将Timestamp
的值添加到其中,所以在这种情况下我会得到:24/03/2018 23:00:00
但是我应该得到:{{1} }。
我做错了什么?
答案 0 :(得分:0)
好的问题解决了。我需要转换我的时区中转换返回的DateTime
,所以我使用:
public static DateTime UnixTimeStampToDateTime(long unixTimeStamp)
{
DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
dtDateTime = dtDateTime.AddSeconds(unixTimeStamp);
//Convert in my timezone
TimeZoneInfo timeInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Europe Standard Time");
DateTime userTime = TimeZoneInfo.ConvertTimeFromUtc(dtDateTime, timeInfo);
return userTime;
}