c# - 如何将时间戳转换为日期?

时间:2013-06-26 10:22:01

标签: c# asp.net date

我从xml文档中获取时间戳。现在,我想将时间戳转换为日期格式(13-May-13)

XmlNodeList cNodes = xncomment.SelectNodes("comment");
foreach (XmlNode node in cNodes)
{
    //I'm getting this "1372061224000" in comment-date
    string comment_date = node["creation-timestamp"].InnerText;
}

有什么想法吗?提前谢谢。

5 个答案:

答案 0 :(得分:27)

鉴于这看起来像Java时间戳,只需使用以下内容:

var dt = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(1372061224000 / 1000d)).ToLocalTime();
Console.WriteLine(dt); // Prints: 6/24/2013 10:07:04 AM

答案 1 :(得分:4)

最后,我找到了如何将时间戳转换为日期& 日期时间戳。我发现项目中的一些地方人们将日期作为时间戳来快速获得差异。所以在这种情况下,他们使用将表列保持为Int或时间戳。现在的问题是,在显示数据的应用程序中,您需要将其转换为日期变量。因此,我们可以使用以下代码将时间戳转换为日期

int ts = 1451174400;
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(ts).ToLocalTime();
string formattedDate = dt.ToString("dd-MM-yyyy");

现在您可以从此变量中获取任何日期格式。

在第二种情况下,如果您想将日期转换为时间戳,请检查以下代码。

int ts = (dt.Ticks - 621356166000000000) / 10000000;

其中dt是日期时间变量&持有日期值。

答案 2 :(得分:2)

也许替换这个:

    foreach (XmlNode node in cNodes)
{
    //I'm getting this "1372061224000" in comment-date
    string comment_date = node["creation-timestamp"].InnerText;
}

by:

foreach (XmlNode node in cNodes)
{
    Datetime comment_date = new DateTime(Convert.ToInt32(node["creation-timestamp"]);
}

答案 3 :(得分:1)

感谢所有人。

最后我得到了输出

foreach (XmlNode node in cNodes)
{
    comment_timestamp = node["creation-timestamp"].InnerText;
    DateTime comment_date1 = new DateTime(Convert.ToInt64(comment_timestamp));
    comment_date = Convert.ToDateTime(comment_date1).ToString("dd-MMM-yy");
}

输出:

01-MAY-13

答案 4 :(得分:0)

您可以使用 DateTimeOffset

FromUnixTimeSeconds 方法
 var dateTime1 = new DateTime(2020, 4, 5, 12, 15, 12);//05.04.2020 12:15:12

 var timeStamp = new DateTimeOffset(dateTime1).ToUnixTimeSeconds(); //1586074512

如果FromUnixTimeSeconds的结果与原始日期时间不符,则可以使用DateTimeOffset对象的LocalDateTime属性。

 var dateTime2 = DateTimeOffset.FromUnixTimeSeconds(timeStamp).DateTime;//05.04.2020 08:15:12
 var dateTime3 = DateTimeOffset.FromUnixTimeSeconds(timeStamp).LocalDateTime;//05.04.2020 12:15:12

有关更多信息,请访问此链接DateTimeOffset.FromUnixTimeSeconds(Int64) Method