Unix时间戳转换工具

当前时间

当前时间戳:

转换工具

时间戳:
时间(YYYY-MM-DD HH:MM:SS):
时间:

常见问题

什么是 Unix 时间戳?

Unix 时间戳(也称为 Epoch 时间或 POSIX 时间)是一种时间计量系统,它从 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)开始,以秒为单位持续计数。它在计算机领域被广泛使用,因为它提供了一种简单、通用的时间表示格式,不受时区影响。

为什么 Unix 时间从 1970 年开始?

1970 年 1 月 1 日作为起点是由贝尔实验室的早期 Unix 开发者选定的。当时普遍使用 32 位整数,从 1970 年开始可以让系统表示到 2038 年的日期。选择这个特定日期是因为它足够近可以满足实用需求,又足够早可以覆盖大多数计算场景。

秒级时间戳和毫秒级时间戳有什么区别?

Unix 时间戳传统上以秒为单位(10 位数字,如 1701792000)。但是,许多现代系统,特别是 JavaScript,使用毫秒(13 位数字,如 1701792000000)以获得更高精度。转换时,请务必确认您的时间戳是秒还是毫秒格式。

什么是 2038 年问题(Y2K38)?

2038 年问题源于许多旧系统使用 32 位有符号整数存储 Unix 时间戳,这种格式最多只能表示到 2038 年 1 月 19 日 03:14:07 UTC。超过这个时间点后,整数会溢出并变成负数,可能导致系统故障。现代 64 位系统已经解决了这个问题。

如何在不同编程语言中获取当前 Unix 时间戳?

以下是在各种编程语言中获取当前 Unix 时间戳的示例:

// JavaScript
Math.floor(Date.now() / 1000)

# Python
import time
int(time.time())

// Java
System.currentTimeMillis() / 1000

// PHP
time()

// Go
time.Now().Unix()

// C#
DateTimeOffset.UtcNow.ToUnixTimeSeconds()

如何将 Unix 时间戳转换为可读日期?

要将 Unix 时间戳转换为人类可读的日期,需要将时间戳乘以 1000(如果是秒级)然后创建 Date 对象。在 JavaScript 中:new Date(timestamp * 1000).toISOString()。在 Python 中:datetime.fromtimestamp(timestamp)。大多数编程语言都有内置函数来完成这个转换。

// JavaScript
new Date(1704067200 * 1000).toISOString()
// Result: '2024-01-01T00:00:00.000Z'

# Python
from datetime import datetime
datetime.fromtimestamp(1704067200)

// PHP
date('Y-m-d H:i:s', 1704067200)

时区如何影响 Unix 时间戳?

Unix 时间戳始终基于 UTC(协调世界时),与时区无关。当将时间戳显示为人类可读的日期时,您需要应用相应的时区偏移。无论您在哪个时区,时间戳本身永远不会改变。

Unix 时间戳有哪些常见应用场景?

Unix 时间戳广泛应用于:数据库记录时间戳、API 请求/响应计时、日志文件条目、Cookie 过期时间、缓存失效、文件修改时间、会话管理,以及任何需要通用、可排序时间格式的场景。