Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows Phone C中将Long转换为DateTime#_C#_Datetime_Windows Phone 8 - Fatal编程技术网

C# 在Windows Phone C中将Long转换为DateTime#

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

我收到API对我的应用程序的请求。在这种情况下,日期/时间被称为长格式。我试图用以下几行来转换它

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"));