弄清楚这个日期格式
Figuring out this date format
我正在尝试弄清楚一些可用数字格式的日期的格式。我需要将它们转换为准确的日期。我有一个要转换的示例日期:
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 post 的提要中获得了这些日期。我使用 WebClient 下载了一张 Instagram 照片 URL。此日期格式位于脚本部分。如果我能够解码这种日期格式,我就会知道照片 post 在 Instagram 上的日期(和时间)是什么。
提前致谢。我正在使用 C# 执行此转换。
Instagram 使用 Unix Timestamp 格式(自 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
我正在尝试弄清楚一些可用数字格式的日期的格式。我需要将它们转换为准确的日期。我有一个要转换的示例日期:
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 post 的提要中获得了这些日期。我使用 WebClient 下载了一张 Instagram 照片 URL。此日期格式位于脚本部分。如果我能够解码这种日期格式,我就会知道照片 post 在 Instagram 上的日期(和时间)是什么。
提前致谢。我正在使用 C# 执行此转换。
Instagram 使用 Unix Timestamp 格式(自 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