# Unixタイムスタンプ変換

Unixタイムスタンプと日時を相互に変換。任意のタイムゾーンに対応し、ISO 8601、RFC 2822、相対時間も表示します。

https://codeknife.dev/ja/timestamp-henkan/

## 概要

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. **複数行**で1行ごとに変換でき、期間の欄では秒を年・日・時間・分・秒に分解できます。

## 例

```
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)
```

## 知っておくと便利なこと

- タイムスタンプは、ちょうど1つの瞬間を表します。タイムゾーンは表記を変えるだけです。
- 10桁までは秒、13桁はミリ秒、16桁はマイクロ秒、19桁はナノ秒として読み取ります。
- オフセットのない日時は、選んだタイムゾーンの現地時刻として読み取ります。明示したい場合は `Z` や `+01:00` を付けてください。
- 日付は0000年から9999年までです。
- `03-04-2023` は4月3日にも3月4日にもなり得ます。**日付の順序**で、日が先か月が先かを決めます。
- ライブ時計は現在時刻を秒・ミリ秒・マイクロ秒・ナノ秒で表示します。ブラウザが返すのはミリ秒までなので、後の2つは0で終わります。一時停止すると値をコピーできます。

## コードで現在時刻を取得

```
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タイムスタンプは、Unixエポックである1970年1月1日 00:00:00 UTC からの経過時間を数えた値です。通常は秒単位ですが、ミリ秒(JavaScript、Java)、マイクロ秒、ナノ秒を使うシステムも多くあります。タイムスタンプはタイムゾーンに関係なく、常にただ1つの瞬間を指します。

## よくある質問

### 数値が秒かミリ秒かはどう判断しますか?

桁数で判断します。10桁までは秒、13桁はミリ秒、16桁はマイクロ秒、19桁はナノ秒として読みます。特殊な値の場合は単位を自分で選んでください。

### タイムゾーンのない日時はどうなりますか?

選択したタイムゾーンの現地時刻として読みます(初期値は UTC)。日時に Z や +01:00 のようなオフセットを付けると、そちらが使われます。

### このツールはタイムスタンプをどこかに送信しますか?

いいえ。すべてお使いの端末上で、ブラウザの日付機能で計算します。入力した内容が当社のサーバーに送信されることはありません。