Android:TimeStamp转换问题!

时间:2010-12-07 17:19:34

标签: java android datetime

我正在解析一些xml的电视指南数据并遇到了这个18位数的时间戳(633934980000869533)。看起来像C#的DateTime滴答声。有谁知道如何将其转换为常规的Java日期/时间?

1 个答案:

答案 0 :(得分:5)

如果一个.NET滴答值,你只需要进行缩放和重新定位。

1970年1月1日午夜由.NET中的621355968000000000个刻度表示,1毫秒= 10,000个刻度...所以:

public static Date fromDotNetTicks(long ticks)
{
    // Rebase to Jan 1st 1970, the Unix epoch
    ticks -= 621355968000000000L;
    long millis = ticks / 10000;
    return new Date(millis);
}

显然,您可能希望将这些魔术数字提取到命名常量中:)

我刚检查过,上面的代码是2009年11月11日凌晨1点。