时间戳
时间戳是标记在数字记录或文件上的特定日期和时间。虽然它最常用作名词,但“时间戳”也可以用作动词。例如:“这条推文的时间戳是 2021 年 1 月 8 日上午 10:44。”
时间戳是在计算机系统中存储日期和时间的标准方式。例如,操作系统会为每个文件记录创建和修改的日期与时间。数码相机会为每张拍摄的照片添加时间戳。社交媒体平台会为每条帖子存储时间戳,例如上面的Twitter示例。
虽然时间戳是通用的,但没有统一的时间戳格式。例如,编程语言可能使用一种方法,而数据库可能使用另一种方法。即使是操作系统,存储时间戳的方式也各不相同。例如,Windows使用ANSI标准,并将时间戳存储为自 1601 年 1 月 1 日起经过的秒数。Unix 将时间戳存储为自 1970 年 1 月 1 日午夜起经过的秒数。由于存在多种不同的时间戳格式,大多数现代编程语言都内置了时间戳转换函数。
将时间戳存储为整数很高效,因为它只需要极少的存储空间。不过,在显示时,必须将这个数字转换为易读的时间格式。MySQL具有 TIMESTAMP 数据类型,可以方便地按以下格式存储时间戳:
YYYY-MM-DD HH:MM:SS
MySQL 将时间戳存储为 UTC,UTC 以英国为基准。因此,2021 年 1 月 16 日上午 10:15:30(美国中部时间)在 MySQL 数据库中会存储为:
2021-01-16 16:15:30
如果将这个日期和时间转换为 Linux 时间戳,则表示为:
1610813730
时间戳还具有不同的分辨率或精确程度。在某些情况下,精确到秒就足够了;而在其他情况下,则需要精确到毫秒甚至纳秒。上面的 Linux 时间戳用毫秒表示时为 1610813730000,其分辨率为千分之一秒。计算操作可能需要分辨率更高的时间戳。PHP包含一个 microtime() 函数,可输出精确到微秒的时间戳,其分辨率为百万分之一秒。
测试你的知识