如何将时间戳转换为日期
本文关键字:日期 转换 时间戳 | 更新日期: 2023-09-27 18:19:52
我正在从xml文档中获取时间戳。现在,我想将时间戳转换为日期格式(2013年5月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;
}
有什么想法吗?提前谢谢。
假设这看起来像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
最后我找到了如何将时间戳转换为日期&日期到时间戳。我发现在项目中的一些地方,人们把日期作为时间戳,以便快速获得差异。所以在这种情况下,他们使用表列作为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是日期-时间变量&持有日期值。
也许可以替换这个:
foreach (XmlNode node in cNodes)
{
//I'm getting this "1372061224000" in comment-date
string comment_date = node["creation-timestamp"].InnerText;
}
发件人:
foreach (XmlNode node in cNodes)
{
Datetime comment_date = new DateTime(Convert.ToInt32(node["creation-timestamp"]);
}
感谢大家。
最后我得到了输出
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
您可以使用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