【问题标题】:Android Call log date convertionAndroid通话记录日期转换
【发布时间】:2013-05-19 22:33:13
【问题描述】:

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

非常感谢

【问题讨论】:

    标签: android date logging format call


    【解决方案1】:

    抱歉,我不太了解 Unix 单词。 google了一下,发现这是'epoch'时间,所以我找到了一个转换函数:

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

    还是谢谢。

    【讨论】:

      【解决方案2】:
      +998999431294</phoneNumber><dateTime>1624939282459</dateTime><callDuration>15</callDuration><logType>2</logType></callLog><callLog><phoneNumber>+998937031331</phoneNumber><dateTime>1624939219493</dateTime>
      

      【讨论】:

      • 欢迎来到 Stack Overflow!仅代码的答案并不是特别有用。请添加一些关于此代码如何解决问题的描述。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多