时间戳生成器

生成 Unix 时间戳,或在时间戳和人类可读日期格式之间进行转换。对于使用 Unix 时间的应用程序接口、数据库或日志系统的开发人员来说至关重要。快速将时间戳转换为可读日期,或生成当前时间戳用于测试和开发。

常见问题

Unix 时间戳是指从 1970 年 1 月 1 日 00:00:00 UTC(Unix 的纪元)起经过的秒数。例如,1609459200 表示 2021 年 1 月 1 日 00:00:00 UTC。这是一种将时间表示为单一数字的通用方法,便于在不同时区和系统中存储、比较和计算日期。

在我们的转换器中输入 Unix 时间戳(自 1970 年以来的秒数),我们就会以人类可读的格式显示相应的日期和时间。你可以看到当地时区和 UTC 的日期。大多数时间戳都是 10 位数表示秒,但有些系统使用 13 位数表示毫秒(除以 1000 得到秒)。

Unix 时间戳的传统单位是秒(10 位数字,如 1609459200)。不过,JavaScript 和其他一些系统使用毫秒(13 位数字,如 1609459200000)。要将毫秒转换为秒,除以 1000。要将秒转换为毫秒,请乘以 1000。我们的工具可以自动处理这两种格式。

使用我们的生成器可立即获得当前的 Unix 时间戳。在 JavaScript 中,您可以使用 Date.now() 表示毫秒,或使用 Math.floor(Date.now() / 1000) 表示秒。在 Python 中,使用 time.time()。在 PHP 中,使用 time()。获取当前时间戳对于记录日志、创建唯一标识符或测试基于时间的功能非常有用。

根据定义,Unix 时间戳总是以 UTC(协调世界时)为单位。当转换为人类可读日期时,显示方式取决于时区。例如,时间戳 1609459200 是 2021 年 1 月 1 日 00:00:00 UTC,但在纽约(东部标准时间,UTC-5)则显示为 2020 年 12 月 31 日 19:00:00。在使用时间戳时,请务必考虑时区。

由于时间戳只是数字,因此可以使用简单的算术运算。要找出两个事件之间的时间间隔,用一个时间戳减去另一个时间戳(结果以秒计)。要在时间戳上添加时间,则添加秒数(例如,+86400 增加一天,+3600 增加一小时)。这样,时间戳就能完美地用于日期计算,而无需担心月份、闰年或时区。

Unix 的纪元(1970 年 1 月 1 日 00:00:00 UTC)被选为 20 世纪 70 年代早期开发 Unix 时的零点。这个日期足够新,也足够远,可以满足大多数计算需求。负时间戳代表 1970 年之前的日期,但很少使用。

JavaScript 使用 Date.now() 或 new Date().getTime()(毫秒),Python 使用 time.time()(秒),PHP 使用 time()(秒),Java 使用 System.currentTimeMillis()(毫秒)。在系统间交换时间戳时,请务必确认使用的是秒还是毫秒,以免出错。

Unix 时间戳始终以 UTC 为单位,不受夏令时的影响。夏令时只影响从时间戳到本地时间显示的转换。这就是为什么时间戳非常适合用于存储时间数据--它们不受时区和夏令时的影响。

标准 32 位 Unix 时间戳面临 2038 年的问题(最大值 2,147,483,647 秒 = 2038 年 1 月 19 日)。现代系统使用 64 位时间戳,可将时间范围扩展到未来和过去数十亿年。我们的工具支持这两种格式,可处理远超 2038 年的日期。