Android通话记录日期转换

标签 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();

非常感谢

最佳答案

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

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

还是谢谢你

关于Android通话记录日期转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16640183/

相关文章:

android - 无法在 VideoView 中播放视频 - 为什么?

android - Float视频 View 在Android Youtube API中可用吗

excel - VBA日期+逻辑

java - 如何禁用 Hibernate 4 登录 Eclipse 控制台?

mysql - 监控 MySQL 用户的查询

android - Cordova + Android Studio 报错:'com.android.build.gradle.BasePlugin' 没有实现Plugin接口(interface)

Java8 解析给定字符串的日期或日期时间格式

java - JodaTime 中格式错误的时区

javascript - 尝试使用 npm 中的 'log' 包登录到 nodejs 上的文件

android - Gradle 调用 preDebugBuild 和 preReleaseBuild