C# 计算出这个日期格式

C# 计算出这个日期格式,c#,datetime,binary,instagram,type-conversion,C#,Datetime,Binary,Instagram,Type Conversion,我试图找出数字格式的几个日期的格式。我需要把它们转换成确切的日期。我有一个我试图转换的日期示例: 1443506173.0 >> Sep 29, 2015 1443505895.0 >> Sep 29, 2015 1441805416.0 >> Sep 09, 2015 1438174556.0 >> Jul 29, 2015 1436476814.0 >> Jul 10, 2015 1414994162.0 &g

我试图找出数字格式的几个日期的格式。我需要把它们转换成确切的日期。我有一个我试图转换的日期示例:

1443506173.0  >>  Sep 29, 2015
1443505895.0  >>  Sep 29, 2015
1441805416.0  >>  Sep 09, 2015
1438174556.0  >>  Jul 29, 2015
1436476814.0  >>  Jul 10, 2015
1414994162.0  >>  Nov 03, 2014
1413294207.0  >>  Oct 14, 2014
通过查看前两个条目,我可以看到数字在变化,但都表示相同的日期。表示此日期格式中必须嵌入时间。目前我只关心提取日期,我现在不需要提取时间。如果它足够简单,也可以提取时间,那就太好了

有人能帮我弄清楚吗?如果你想知道的话,我从Instagram posts feed上得到了这些日期。我使用WebClient下载了一张Instagram照片的URL。此日期格式位于脚本部分。如果我能解码这个日期格式,我就知道Instagram上照片帖子的日期(和时间)

提前谢谢。我正在使用C#来执行此转换。

Instagram使用的格式为(自1970年1月1日以来的秒数)

将其转换为DateTime对象的一种方法是:

DateTime dateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dateTime = dateTime.AddSeconds(yourUnixTimestampValue).ToLocalTime();
Instagram使用的格式为(自1970年1月1日以来的秒数)

将其转换为DateTime对象的一种方法是:

DateTime dateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dateTime = dateTime.AddSeconds(yourUnixTimestampValue).ToLocalTime();

这是一个UNIX时间戳

void Main()
{
    var timestamps = new[]{
        new {stamp = 1443506173.0, datetime = new DateTime(2015, 9, 29)},
        new {stamp = 1443505895.0, datetime = new DateTime(2015, 9, 29)},
        new {stamp = 1413294207.0, datetime = new DateTime(2014, 10, 14)}
    };

    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
    foreach (var i in timestamps)
    {
        Console.WriteLine("Item: {0}, Converted: {1}", i, new DateTime(1970, 1,1).AddSeconds(i.stamp).ToLongDateString());
    }
}
输出:

Item: { stamp = 1443506173, datetime = 09/29/2015 00:00:00 }, Converted: Tuesday, 29 September 2015
Item: { stamp = 1443505895, datetime = 09/29/2015 00:00:00 }, Converted: Tuesday, 29 September 2015
Item: { stamp = 1413294207, datetime = 10/14/2014 00:00:00 }, Converted: Tuesday, 14 October 2014

这是一个UNIX时间戳

void Main()
{
    var timestamps = new[]{
        new {stamp = 1443506173.0, datetime = new DateTime(2015, 9, 29)},
        new {stamp = 1443505895.0, datetime = new DateTime(2015, 9, 29)},
        new {stamp = 1413294207.0, datetime = new DateTime(2014, 10, 14)}
    };

    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
    foreach (var i in timestamps)
    {
        Console.WriteLine("Item: {0}, Converted: {1}", i, new DateTime(1970, 1,1).AddSeconds(i.stamp).ToLongDateString());
    }
}
输出:

Item: { stamp = 1443506173, datetime = 09/29/2015 00:00:00 }, Converted: Tuesday, 29 September 2015
Item: { stamp = 1443505895, datetime = 09/29/2015 00:00:00 }, Converted: Tuesday, 29 September 2015
Item: { stamp = 1413294207, datetime = 10/14/2014 00:00:00 }, Converted: Tuesday, 14 October 2014

谢谢我想我离得太近了。我给1970年的日期增加了几天而不是几秒钟。谢谢!我想我离得太近了。我在1970年的日期上加了几天而不是几秒钟。