在我的应用程序中,我需要解析一个包含事件结束时间的 JSON。当这个事件正在进行时,我需要计算完成那个事件的剩余时间。为此,我使用这段代码:
// I get the time and convert it from millis to seconds
long end = System.currentTimeMillis() / 1000;
techsTime.add((int) (queue.event.get("event0").endtime - end));
一旦我获得了以秒为单位的时间,我将其转换为 d,h,m,s。这在一些设备(如 Optimus Black 和 HTC Desire)中就像一种魅力。但是今天我用朋友的中兴Blade测试了我的应用程序,事件的剩余时间很奇怪。它以负数和数字出现,与原始数字相距甚远。我用不同的值测试了应用程序并且没有模式,它们就像随机数,例如:
擎天柱黑 -> 21m 32s
ZTE Blade -> -38m -57s
我认为 System.currentTimeMillis() 在两种设备中可能不同,但它们都使用 CM7 作为操作系统。