# Unix 时间戳转换器

在 Unix 时间戳与日期之间互相转换,支持任意时区,并显示 ISO 8601、RFC 2822 和相对时间。

https://codeknife.dev/zh/shijianchuo-zhuanhuan/

## 它能做什么

在任意时区中，把 Unix 时间戳转换为易读的日期，也可以把日期转换回时间戳。它能识别秒、毫秒、微秒和纳秒，并输出 ISO 8601、RFC 2822 或纯 Unix 时间。

## 如何使用

1. 输入或粘贴 Unix 时间戳或日期:ISO 8601、RFC 2822、HTTP 日期、`2023-11-14 22:13` 或 `14-11-2023`。**现在**会插入当前时间。
2. 单位保持为**自动识别单位**，或选择秒、毫秒、微秒或纳秒。
3. 选择用来解读不带偏移量的日期的时区，以及输出的格式。
4. 在下方各行阅读该时刻的每种格式,并编辑其中任意一种:其余会随之更新。它所在日、月、年的开始与结束,以及与现在的间隔,也会列出。
5. 用**多行**逐行转换,用时长框把秒数拆成年、天、小时、分和秒。

## 示例

```
1700000000        →  2023-11-14T22:13:20.000Z
1700000000123     →  2023-11-14T22:13:20.123Z
2023-11-14 23:13  →  1699999980 (read in Europe/Amsterdam, UTC+1)
```

## 须知

- 时间戳指的是一个确切的时刻。时区只会改变它的写法。
- 最多 10 位按秒读取，13 位按毫秒，16 位按微秒，19 位按纳秒。
- 不带偏移量的日期会按你选择的时区的本地时间读取；加上 `Z` 或 `+01:00` 可以明确指定。
- 日期的范围是 0000 年到 9999 年。
- `03-04-2023` 可能是 4 月 3 日,也可能是 3 月 4 日。**日期顺序**决定读法:日在前还是月在前。
- 实时时钟以秒、毫秒、微秒和纳秒显示当前时间。浏览器只提供毫秒,所以最后两项以零结尾。暂停后可复制数值。

## 代码中的当前时间

```
JavaScript   Math.floor(Date.now() / 1000)
Python       int(time.time())
Go           time.Now().Unix()
PHP          time()
SQL          SELECT EXTRACT(EPOCH FROM NOW())::bigint;  -- PostgreSQL
Bash         date +%s
```

## 什么是 Unix 时间戳?

Unix 时间戳统计的是自 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)以来经过的时间。通常以秒为单位,但许多系统使用毫秒(JavaScript、Java)、微秒或纳秒。无论在哪个时区,时间戳都只对应唯一确定的一个时刻。

## 常见问题

### 工具如何判断数字是秒还是毫秒?

根据数字大小:最多 10 位按秒处理,13 位按毫秒,16 位按微秒,19 位按纳秒。如果你的数值比较特殊,可以自己选择单位。

### 没有时区的日期会怎样处理?

会按你所选时区(默认 UTC)的当地时间来读取。如果在日期后加上 Z 或 +01:00 这样的偏移,则以它为准。

### 这个工具会把我的时间戳发送到别处吗?

不会。所有计算都在你的设备上通过浏览器内置的日期功能完成。你输入的内容不会发送到我们的服务器。