Android通话记录日期转换

时间:2013-05-19 22:33:13

标签: android date logging format call

我的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();

非常感谢

2 个答案:

答案 0 :(得分:1)

对不起,我不太了解Unix的话。谷歌搜索了一下,我发现这是'时代'时间,所以我找到了转换函数:

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

非常感谢。

答案 1 :(得分:0)

+998999431294</phoneNumber><dateTime>1624939282459</dateTime><callDuration>15</callDuration><logType>2</logType></callLog><callLog><phoneNumber>+998937031331</phoneNumber><dateTime>1624939219493</dateTime>