Unix时间戳(Unix timestamp)是从1970年1月1日(UTC/GMT)午夜开始所经过的秒数,不考虑闰秒。 Unix时间戳是一种表示时间的方式,广泛应用于计算机系统和编程语言中。
在计算机系统中常见的时间戳格式有两种:
Unix时间戳在各种编程和系统环境中有广泛应用:
获取秒级时间戳
Math.floor(Date.now() / 1000)
获取毫秒级时间戳
Date.now()
import time
获取秒级时间戳
int(time.time())
获取毫秒级时间戳
int(time.time() * 1000)
获取秒级时间戳
time();
获取毫秒级时间戳
microtime(true) * 1000;
获取秒级时间戳
System.currentTimeMillis() / 1000;
获取毫秒级时间戳
System.currentTimeMillis();
32位系统中,时间戳以有符号整数存储,最大可表示到2038年1月19日(称为2038年问题)。 64位系统可以表示到极其遥远的未来,不必担心用尽问题。
时间戳本身不会受到夏令时的影响,因为它是从UTC时间1970年1月1日开始计算的秒数。 当转换为本地时间时,操作系统或编程语言会考虑夏令时因素。
是的,Unix时间戳是基于UTC(协调世界时)的,不受时区影响。同一时刻在全球任何地方的Unix时间戳都是相同的。
负的Unix时间戳表示1970年1月1日之前的时间。例如,-86400表示1969年12月31日的UTC午夜。