1

我的 Android 手机有通话记录备份,我想知道通话的日期和时间。

日志说:

<HTCCALLOG>
new=1
numbertype=3
duration=28
number=PERSON'S PHONE NUMBER
type=1
_id=1853
numberlabel=null
name=PERSON'S NAME
date=1333119990954

这就是问题所在。当我尝试转换日期时间(我正在使用.Net 的 CSsharp)时,我得到了以下日期02/01/0001 01:01:51,这当然不是通话的有效日期。

尝试将今天的日期和时间从 UTC 格式转换为长数字,我得到130134760479804654,它比日志文件中的数字大。

有人可以指出我做错了什么吗?以下是代码。

    long datelong = long.Parse("1333119793100");
    DateTime date = new DateTime(datelong, DateTimeKind.Utc);

    Console.WriteLine(date.ToString("dd/MM/yyyy hh:mm:ss"));

    DateTime today = DateTime.Now;
    Console.WriteLine("\n\n{0}\n{1}", today.ToFileTimeUtc(), datelong);

    Console.ReadKey();

非常感谢

4

2 回答 2

1

抱歉,我不太了解 Unix 单词。谷歌了一下,我发现这是“纪元”时间,所以我发现了一个转换函数:

public DateTime FromUnixTime(long unixTime)
{
    var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    return epoch.AddSeconds(unixTime);
}

不管怎么说,还是要谢谢你。

于 2013-05-19T22:43:34.947 回答
0
+998999431294</phoneNumber><dateTime>1624939282459</dateTime><callDuration>15</callDuration><logType>2</logType></callLog><callLog><phoneNumber>+998937031331</phoneNumber><dateTime>1624939219493</dateTime>
于 2021-06-30T04:24:51.790 回答