C# 和 JavaScript 中的 DateTime 整数值
DateTime integer value in C# and JavaScript
我正在使用 returns 我 JSON 数据的网络服务。
JSON 数据中的一个值是日期时间。
1421788745000 - 这是为该日期时间字段返回的值。
当我尝试将该值转换为 DateTime(使用以下代码)时,它 returns me 01/02/0001 3:29:38 PM。
foreach(dynamic jResult in jsonResult["twtDetails"])
{
DateTime date = new DateTime(long.Parse("1421788745000"));
DateTime dt = new DateTime(createdAtTime);
}
但是当我尝试使用以下 javascrit 代码(使用此站点 - http://jsfiddle.net/)解析相同的值时,我得到了一个有效日期:2015 年 1 月 20 日星期二
alert(new Date(1421788745000).toUTCString());
有人可以告诉我正确的 C# 代码是什么吗?
据我所知,1970 年有些神奇。
试试这个:
public DateTime ConvertDate(long unixTime)
{
var date= new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return date.AddSeconds(unixTime);
}
也许,你可以深入了解Unix Time。
C# DateTime
和 JavaScript Date
的构造函数不同。 JavaScript Date
预计自 1970 年 1 月 1 日 "Unix Epoch" 以来的毫秒数。此代码在 C# 中应该适用于您:
var dt = new DateTime(1970,1,1).AddMilliseconds(1421788745000);
您尝试过使用JavaScriptSerializer.Deserialize方法吗?
我正在使用 returns 我 JSON 数据的网络服务。
JSON 数据中的一个值是日期时间。
1421788745000 - 这是为该日期时间字段返回的值。
当我尝试将该值转换为 DateTime(使用以下代码)时,它 returns me 01/02/0001 3:29:38 PM。
foreach(dynamic jResult in jsonResult["twtDetails"])
{
DateTime date = new DateTime(long.Parse("1421788745000"));
DateTime dt = new DateTime(createdAtTime);
}
但是当我尝试使用以下 javascrit 代码(使用此站点 - http://jsfiddle.net/)解析相同的值时,我得到了一个有效日期:2015 年 1 月 20 日星期二
alert(new Date(1421788745000).toUTCString());
有人可以告诉我正确的 C# 代码是什么吗?
据我所知,1970 年有些神奇。
试试这个:
public DateTime ConvertDate(long unixTime)
{
var date= new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return date.AddSeconds(unixTime);
}
也许,你可以深入了解Unix Time。
C# DateTime
和 JavaScript Date
的构造函数不同。 JavaScript Date
预计自 1970 年 1 月 1 日 "Unix Epoch" 以来的毫秒数。此代码在 C# 中应该适用于您:
var dt = new DateTime(1970,1,1).AddMilliseconds(1421788745000);
您尝试过使用JavaScriptSerializer.Deserialize方法吗?