时间戳概念
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
时间戳在全球任何一个地方都是一样的,即都是指格林威治时间1970年01月01日00时00分00秒到现在的总秒数,但是转换为不同时区的时间之后会不同。
计算方式
- 首先获取当前的时间戳,通过
System.currentTimeMillis()
获取当前的时间戳; 获取当前时间到今天0点相差的毫秒数;
- 这一步较为关键,System.currentTimeMillis()获取的是格林威治的时间戳,如果计算格林威治当前时间到0点的时间可以直接与一天的总毫秒数相余;
- 但是北京时间比格林威治时间早8小时(要不咋们怎么称为东方呢!),要计算北京当前时间到0点之间的相差的毫秒数,需要加上8小时的毫秒数,再与一天的毫秒数相余。
- 将当前的时间戳减去到今天0点相差的毫秒数。