C# 在Windows Phone C中将Long转换为DateTime#
我收到API对我的应用程序的请求。在这种情况下,日期/时间被称为长格式。我试图用以下几行来转换它C# 在Windows Phone C中将Long转换为DateTime#,c#,datetime,windows-phone-8,C#,Datetime,Windows Phone 8,我收到API对我的应用程序的请求。在这种情况下,日期/时间被称为长格式。我试图用以下几行来转换它 DateTime? dt = new DateTime(long.Parse(detail.CREATEDTIME)); MessageBox.Show(detail.CREATEDTIME + "=>" + dt.Value.ToString("yyyy-MM-dd")); 实际输出如下: 1393559958788=>0001-01-02 1393559958788=>20
DateTime? dt = new DateTime(long.Parse(detail.CREATEDTIME));
MessageBox.Show(detail.CREATEDTIME + "=>" + dt.Value.ToString("yyyy-MM-dd"));
实际输出如下:
1393559958788=>0001-01-02
1393559958788=>2014-02-28
但预期产出如下:
1393559958788=>0001-01-02
1393559958788=>2014-02-28
预期的输出来自java。如何使用
C#
执行此操作?最有可能的情况是,long
值表示一个值
检查此项以了解如何转换
但是,请注意,自1970年1月1日起,您的值似乎是毫秒,而不是秒,因此您可能需要使用.addMillimes,而不是.AddSeconds
我用来确认这一点的代码是:
DateTime d = new DateTime(1970, 1, 1,0,0,0,0,DateTimeKind.Utc).AddMilliseconds(1393559958788);
Console.WriteLine(d); // 28/02/2014 03:59:18
最有可能的是,
long
值表示一个值
检查此项以了解如何转换
但是,请注意,自1970年1月1日起,您的值似乎是毫秒,而不是秒,因此您可能需要使用.addMillimes,而不是.AddSeconds
我用来确认这一点的代码是:
DateTime d = new DateTime(1970, 1, 1,0,0,0,0,DateTimeKind.Utc).AddMilliseconds(1393559958788);
Console.WriteLine(d); // 28/02/2014 03:59:18
这就是您正在寻找的:
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dt = dt.AddMilliseconds(long.Parse(detail.CREATEDTIME)).ToLocalTime();
MessageBox.Show(detail.CREATEDTIME + "=>" + dt.Value.ToString("yyyy-MM-dd"));
这就是您正在寻找的:
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dt = dt.AddMilliseconds(long.Parse(detail.CREATEDTIME)).ToLocalTime();
MessageBox.Show(detail.CREATEDTIME + "=>" + dt.Value.ToString("yyyy-MM-dd"));