Android:TimeStamp转换问题!

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

如果它 .NET ticks值,那么你只需要对其进行缩放和重组。

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点。