时间戳概念

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
时间戳在全球任何一个地方都是一样的,即都是指格林威治时间1970年01月01日00时00分00秒到现在的总秒数,但是转换为不同时区的时间之后会不同。

计算方式

  1. 首先获取当前的时间戳,通过System.currentTimeMillis()获取当前的时间戳;
  2. 获取当前时间到今天0点相差的毫秒数;

    • 这一步较为关键,System.currentTimeMillis()获取的是格林威治的时间戳,如果计算格林威治当前时间到0点的时间可以直接与一天的总毫秒数相余;
    • 但是北京时间比格林威治时间早8小时(要不咋们怎么称为东方呢!),要计算北京当前时间到0点之间的相差的毫秒数,需要加上8小时的毫秒数,再与一天的毫秒数相余。
  3. 将当前的时间戳减去到今天0点相差的毫秒数。
代码