1.手机系统时间存在的问题
Android系统或者Java程序在打时间戳时,经常使用System.currentTimeMillis(),如果直接用这个函数来打时间戳,会存在潜在的问题,即无法保证单调性和顺序性,对于这个函数,Java官方解释是这样的
currentTimeMillis
public static long currentTimeMillis()
Returns the current time in milliseconds. Note that while the unit of time of the return value is a millisecond, the granularity of the value depends on the underlying operating system and may be larger. For example, many operating systems measure time in units of tens of milliseconds.
See the description of the class Date for a discussion of slight discrepancies that may arise between "computer time" and coordinated universal time (UTC).
Returns:
the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.
currentTimeMillis是1970年1月1日到当前时间经过的毫秒数,这个时间依赖系统日期,其底层实现就是直接获取系统日期