ぱんだツールズぱんだツールズ

日時フォーマット横断検索

JavaScript / Python / Go / PHP / Excel の日時フォーマット文字列を横断比較

ぱんだツールズファイルはサーバーに送信されません
JavaScript: 35Python: 35Go: 35PHP: 35Excel: 30
最終更新: 2026-04-13
全35件を表示中
4桁の年を取得する(例: 2026)基本
JavaScript
yyyy
出力例:2026

date-fns の format() で使用

* Intl: { year: "numeric" }

Python
%Y
出力例:2026

strftime() で4桁の西暦年

Go
2006
出力例:2026

参照時刻の年部分を使用

* Go の参照時刻: 2006年

PHP
Y
出力例:2026

date() で4桁の西暦年

Excel
yyyy
出力例:2026

セルの表示形式で4桁年

比較メモ: Go だけが数値リテラル「2006」を使う独特な方式。他の言語は記号ベースのフォーマット文字列。

2桁の年を取得する(例: 26)基本
JavaScript
yy
出力例:26

date-fns の format() で使用

* Intl: { year: "2-digit" }

Python
%y
出力例:26

strftime() で下2桁の年

Go
06
出力例:26

参照時刻の年の下2桁

* Go の参照時刻: 06 = 2006の下2桁

PHP
y
出力例:26

date() で下2桁の年

Excel
yy
出力例:26

セルの表示形式で2桁年

比較メモ: 2000年問題の教訓から、2桁年の使用は非推奨。ログや表示にはなるべく4桁年を使うべき。

和暦の年を取得する(例: 令和8年)応用
JavaScript
new Intl.DateTimeFormat("ja-JP-u-ca-japanese", { era: "long", year: "numeric" })
出力例:令和8年

Intl API で和暦カレンダーを指定

Python
(ライブラリ必要)
出力例:令和8年

標準ライブラリでは非対応

* jaconv や独自実装が必要

Go
(独自実装)
出力例:令和8年

標準ライブラリでは非対応

* 和暦変換は自前のロジックで実装

PHP
(IntlDateFormatter)
出力例:令和8年

IntlDateFormatter で和暦カレンダーを指定

* intl 拡張が必要

Excel
[$-ja-JP-x-gannen]ggge"年"
出力例:令和8年

セルの表示形式で和暦

* ロケール依存

比較メモ: JavaScript の Intl API が最も手軽に和暦を扱える。Python・Go は標準では非対応。

ゼロ埋め月を取得する(例: 04)基本
JavaScript
MM
出力例:04

date-fns の format() で使用

* Intl: { month: "2-digit" }

Python
%m
出力例:04

strftime() でゼロ埋め月(01〜12)

Go
01
出力例:04

参照時刻の月部分(ゼロ埋め)

* Go の参照時刻: 01 = 1月

PHP
m
出力例:04

date() でゼロ埋め月(01〜12)

Excel
mm
出力例:04

セルの表示形式でゼロ埋め月

* 時刻の直後に置くと「分」と解釈される場合あり

比較メモ: Go は「01」、PHP は「m」と、ゼロ埋めがデフォルト。JavaScript の date-fns は大文字 MM。

ゼロ埋めなし月を取得する(例: 4)基本
JavaScript
M
出力例:4

date-fns の format() で使用

Python
%-m
出力例:4

strftime() でゼロ埋めなし月

* Windows では %#m を使用

Go
1
出力例:4

参照時刻の月部分(ゼロ埋めなし)

* Go の参照時刻: 1 = ゼロ埋めなし月

PHP
n
出力例:4

date() でゼロ埋めなし月(1〜12)

Excel
m
出力例:4

セルの表示形式でゼロ埋めなし月

比較メモ: Python の %-m は Linux/macOS のみ。Windows では %#m を使う必要がある点に注意。

英語の月名を取得する(例: April)中級
JavaScript
MMMM
出力例:April

date-fns の format() で使用

* Intl: { month: "long" }。ロケールで日本語も可

Python
%B
出力例:April

strftime() で英語フル月名

* ロケール依存。locale.setlocale() で変更可

Go
January
出力例:April

参照時刻の月名をそのまま使用

* Go の参照時刻: January = フル月名

PHP
F
出力例:April

date() で英語フル月名

Excel
mmmm
出力例:April

英語の月名フル表記

* Excelのロケール設定による

比較メモ: Go は参照時刻の月名「January」をそのまま書く。PHP は「F」という覚えにくい1文字。

英語の短縮月名を取得する(例: Apr)中級
JavaScript
MMM
出力例:Apr

date-fns の format() で使用

* Intl: { month: "short" }

Python
%b
出力例:Apr

strftime() で英語短縮月名

Go
Jan
出力例:Apr

参照時刻の短縮月名を使用

* Go の参照時刻: Jan = 短縮月名

PHP
M
出力例:Apr

date() で英語短縮月名

Excel
mmm
出力例:Apr

英語の月名短縮表記

ゼロ埋め日を取得する(例: 09)基本
JavaScript
dd
出力例:09

date-fns の format() で使用

* Intl: { day: "2-digit" }

Python
%d
出力例:09

strftime() でゼロ埋め日(01〜31)

Go
02
出力例:09

参照時刻の日部分(ゼロ埋め)

* Go の参照時刻: 02 = 2日

PHP
d
出力例:09

date() でゼロ埋め日(01〜31)

Excel
dd
出力例:09

セルの表示形式でゼロ埋め日

ゼロ埋めなし日を取得する(例: 9)基本
JavaScript
d
出力例:9

date-fns の format() で使用

Python
%-d
出力例:9

strftime() でゼロ埋めなし日

* Windows では %#d を使用

Go
2
出力例:9

参照時刻の日部分(ゼロ埋めなし)

* Go の参照時刻: 2 = ゼロ埋めなし日

PHP
j
出力例:9

date() でゼロ埋めなし日(1〜31)

Excel
d
出力例:9

セルの表示形式でゼロ埋めなし日

年内の通算日を取得する(例: 103)応用
JavaScript
date-fns: getDayOfYear(date)
出力例:103

date-fns の getDayOfYear() 関数を使用

Python
%j
出力例:103

strftime() で通算日(001〜366)

* ゼロ埋め3桁

Go
date.YearDay()
出力例:103

time.Time の YearDay() メソッド

* フォーマット文字列ではなくメソッド呼び出し

PHP
z
出力例:102

date() で通算日(0〜365)

* 0始まりなので +1 が必要な場合あり

Excel
=A1-DATE(YEAR(A1),1,0)
出力例:103

数式で計算する

* 表示形式では直接対応なし

比較メモ: PHP の z は 0 始まり(0〜365)、Python の %j は 1 始まり(001〜366)なので変換時に注意。

24時間表記の時を取得する(例: 15)基本
JavaScript
HH
出力例:15

date-fns の format() で使用

* Intl: { hour: "2-digit", hour12: false }

Python
%H
出力例:15

strftime() で24時間表記(00〜23)

Go
15
出力例:15

参照時刻の時部分(24時間)

* Go の参照時刻: 15 = 午後3時

PHP
H
出力例:15

date() で24時間表記(00〜23)

Excel
hh
出力例:15

セルの表示形式で24時間表記

* 表示形式の設定による

比較メモ: Go は「15」(参照時刻の午後3時)で24時間表記を表す。他は H や %H。

12時間表記の時を取得する(例: 3)中級
JavaScript
hh
出力例:03

date-fns の format() で使用

* Intl: { hour: "2-digit", hour12: true }

Python
%I
出力例:03

strftime() で12時間表記(01〜12)

Go
3
出力例:3

参照時刻の時部分(12時間・ゼロ埋めなし)

* ゼロ埋め不要な場合。03 ではゼロ埋め

PHP
g
出力例:3

date() で12時間表記(1〜12)

* h はゼロ埋めあり(01〜12)

Excel
h AM/PM
出力例:3 PM

表示形式で AM/PM を付加

比較メモ: AM/PM 表示は別途指定が必要な言語が多い。Excel は「AM/PM」を書式に直接書く。

AM/PM を取得する(例: PM)中級
JavaScript
a
出力例:PM

date-fns の format() で使用(小文字 pm も aa で可)

* Intl: { hour12: true } で自動付与

Python
%p
出力例:PM

strftime() で AM / PM

Go
PM
出力例:PM

参照時刻の AM/PM 部分を使用

* 小文字は pm と書く

PHP
A
出力例:PM

date() で大文字 AM / PM

* 小文字は a(am / pm)

Excel
AM/PM
出力例:PM

表示形式に AM/PM を追加

ゼロ埋め分を取得する(例: 05)基本
JavaScript
mm
出力例:05

date-fns の format() で使用(小文字 mm)

* Intl: { minute: "2-digit" }

Python
%M
出力例:05

strftime() でゼロ埋め分(00〜59)

Go
04
出力例:05

参照時刻の分部分(ゼロ埋め)

* Go の参照時刻: 04 = 4分

PHP
i
出力例:05

date() でゼロ埋め分(00〜59)

* m は月なので注意。分は i

Excel
mm
出力例:05

セルの表示形式でゼロ埋め分

* 時刻の直後に置くと分として認識される

比較メモ: PHP で分が「i」なのは、m が月に使われているため。Excel では mm が月か分かはコンテキストで判断される。

ゼロ埋めなし分を取得する(例: 5)中級
JavaScript
m
出力例:5

date-fns の format() で使用

Python
%-M
出力例:5

strftime() でゼロ埋めなし分

* Windows では %#M を使用

Go
4
出力例:5

参照時刻の分部分(ゼロ埋めなし)

* Go の参照時刻: 4 = ゼロ埋めなし分

PHP
intval(date("i"))
出力例:5

date("i") をintval() で変換

* ゼロ埋めなし分の専用フォーマットはない

Excel
m
出力例:5

セルの表示形式でゼロ埋めなし分

* 時刻のhの直後に使う

ゼロ埋め秒を取得する(例: 09)基本
JavaScript
ss
出力例:09

date-fns の format() で使用

* Intl: { second: "2-digit" }

Python
%S
出力例:09

strftime() でゼロ埋め秒(00〜59)

Go
05
出力例:09

参照時刻の秒部分(ゼロ埋め)

* Go の参照時刻: 05 = 5秒

PHP
s
出力例:09

date() でゼロ埋め秒(00〜59)

Excel
ss
出力例:09

セルの表示形式でゼロ埋め秒

ミリ秒・マイクロ秒を取得する応用
JavaScript
SSS
出力例:123

date-fns の format() でミリ秒(3桁)

* Date.now() % 1000 でも取得可

Python
%f
出力例:123456

strftime() でマイクロ秒(6桁)

* ミリ秒は %f[:3] でスライス

Go
.000 / .000000
出力例:.123 / .123456

.000 でミリ秒、.000000 でマイクロ秒

* 末尾ゼロを省略する場合は .999 / .999999

PHP
u / v
出力例:123456 / 123

u=マイクロ秒(6桁)、v=ミリ秒(3桁)

* DateTime::format() で使用。date() では常に 000000

Excel
.000
出力例:.123

セルの表示形式でミリ秒

* ss.000 の形式で指定

比較メモ: Python の %f は常に6桁のマイクロ秒。ミリ秒が欲しい場合はスライスが必要。PHP の v はミリ秒だが PHP 7.0以降のみ。

英語の曜日名を取得する(例: Monday)中級
曜日
JavaScript
EEEE
出力例:Monday

date-fns の format() で使用

* Intl: { weekday: "long" }。ロケール指定で日本語「月曜日」も可

Python
%A
出力例:Monday

strftime() で英語フル曜日名

* ロケール依存。日本語環境では「月曜日」

Go
Monday
出力例:Monday

参照時刻の曜日名を使用

* Go の参照時刻: Monday(月曜日)

PHP
l
出力例:Monday

date() で英語フル曜日名

* 小文字の L

Excel
dddd
出力例:Monday

セルの表示形式で曜日名フル

* ロケール依存

比較メモ: PHP の曜日は小文字の l(エル)。Go は参照時刻の「Monday」をそのまま書く。

英語の短縮曜日名を取得する(例: Mon)中級
曜日
JavaScript
EEE
出力例:Mon

date-fns の format() で使用

* Intl: { weekday: "short" }

Python
%a
出力例:Mon

strftime() で英語短縮曜日名

Go
Mon
出力例:Mon

参照時刻の短縮曜日名を使用

* Go の参照時刻: Mon = 短縮曜日名

PHP
D
出力例:Mon

date() で英語短縮曜日名

Excel
ddd
出力例:Mon

セルの表示形式で曜日名短縮

曜日の数値を取得する(例: 0=日曜 or 1=月曜)中級
曜日
JavaScript
date.getDay()
出力例:0(日曜)

Date.getDay() で 0=日曜〜6=土曜

* date-fns: getDay(date)

Python
%w / %u
出力例:0 / 1

%w=0(日曜)〜6、%u=1(月曜)〜7

* %u は ISO 8601準拠

Go
date.Weekday()
出力例:1(Monday)

time.Weekday() で 0=Sunday〜6=Saturday

* フォーマット文字列ではなくメソッド

PHP
w / N
出力例:0 / 1

w=0(日曜)〜6、N=1(月曜)〜7

* N は ISO 8601準拠

Excel
=WEEKDAY(A1)
出力例:1(日曜=1)

WEEKDAY関数で取得

* 第2引数で起点を変更可能

比較メモ: 0=日曜起点(JS・PHP w・Python %w)と 1=月曜起点(ISO 8601・PHP N・Python %u)の2系統がある。

UTC オフセットを取得する(例: +09:00)中級
タイムゾーン
JavaScript
XXX
出力例:+09:00

date-fns の format() で使用

* Date: getTimezoneOffset() で分単位のオフセット取得

Python
%z
出力例:+0900

strftime() で UTC オフセット

* Python 3.6以降。コロンなしの形式

Go
-07:00
出力例:+09:00

参照時刻の UTC オフセット(-7時間)

* Go の参照時刻: -07:00 = コロンあり、-0700 = コロンなし

PHP
P
出力例:+09:00

date() でコロン付き UTC オフセット

* O はコロンなし(+0900)

Excel

直接対応する機能なし

Excelのセル書式ではタイムゾーン表示非対応

比較メモ: Python の %z はコロンなし(+0900)。コロン付きが欲しい場合は手動で挿入するか strftime の代わりに isoformat() を使う。

タイムゾーン名を取得する(例: JST)応用
タイムゾーン
JavaScript
date.toLocaleString("ja-JP", { timeZoneName: "short" })
出力例:JST

Intl で timeZoneName を指定

* IANA タイムゾーン名: Intl.DateTimeFormat().resolvedOptions().timeZone

Python
%Z
出力例:JST

strftime() でタイムゾーン略称

* aware datetime でないと空文字になる

Go
MST
出力例:JST

参照時刻のタイムゾーン略称を使用

* Go の参照時刻: MST = Mountain Standard Time

PHP
T
出力例:JST

date() でタイムゾーン略称

Excel

直接対応する機能なし

Excelのセル書式ではタイムゾーン名非対応

比較メモ: Go は参照時刻のタイムゾーン「MST」をそのまま書く。Python は aware datetime でないと空文字になるので注意。

ISO 8601 形式のタイムゾーンを取得する(例: +09:00 / Z)応用
タイムゾーン
JavaScript
date.toISOString()
出力例:2026-04-13T03:00:00.000Z

toISOString() は常に UTC(末尾 Z)

* ローカル時刻 + オフセットは date-fns の formatISO() を使用

Python
datetime.isoformat()
出力例:2026-04-13T12:00:00+09:00

isoformat() でISO 8601形式

* aware datetime で呼ぶとオフセット付き

Go
2006-01-02T15:04:05Z07:00
出力例:2026-04-13T12:00:00+09:00

time.RFC3339 定数も利用可

* Z07:00: UTCなら Z、それ以外は +HH:MM

PHP
c
出力例:2026-04-13T12:00:00+09:00

date("c") で ISO 8601 形式

* DateTime::ATOM 定数でも同等

Excel

直接対応する機能なし

Excelのセル書式ではISO 8601非対応。TEXT関数で近似可能

比較メモ: JavaScript の toISOString() は常に UTC。ローカル時刻+オフセットが欲しい場合は date-fns を使う。

ISO 8601 形式で出力する(例: 2026-04-13T12:00:00Z)中級
複合フォーマット
JavaScript
date.toISOString() // or date-fns: format(date, "yyyy-MM-dd'T'HH:mm:ssXXX")
出力例:2026-04-13T12:00:00.000Z

toISOString() は UTC 固定。ローカルは date-fns を使用

Python
datetime.isoformat()
出力例:2026-04-13T12:00:00+09:00

isoformat() で ISO 8601 出力

* timespec パラメータで精度制御可

Go
time.RFC3339 // = "2006-01-02T15:04:05Z07:00"
出力例:2026-04-13T12:00:00+09:00

RFC3339 定数を使うのが一般的

PHP
c // or DateTime::ATOM
出力例:2026-04-13T12:00:00+09:00

date("c") で ISO 8601 出力

Excel
yyyy-mm-dd"T"hh:mm:ss
出力例:2026-04-13T12:00:00

カスタム書式で近似

* タイムゾーン情報は含められない

比較メモ: API通信やログ記録では ISO 8601 / RFC 3339 が事実上の標準。言語ごとの定数・メソッドを覚えておくと便利。

日本語の日付形式で出力する(例: 2026年4月13日)中級
複合フォーマット
JavaScript
date.toLocaleDateString('ja-JP') // or date-fns: format(date, 'yyyy年M月d日')
出力例:2026年4月13日

Intl API またはdate-fns で日本語ロケール

Python
strftime('%Y年%-m月%-d日') // or: f'{dt:%Y}年{dt.month}月{dt.day}日'
出力例:2026年4月13日

ゼロ埋めなしにするには %-m %-d を使用

* Windows では %#m %#d

Go
2006年1月2日
出力例:2026年4月13日

参照時刻をそのまま日本語形式で記述

PHP
'Y年n月j日'
出力例:2026年4月13日

n=ゼロ埋めなし月、j=ゼロ埋めなし日

Excel
yyyy"年"m"月"d"日"
出力例:2026年4月13日

ダブルクォートで文字列を挟む

比較メモ: Go は「2006年1月2日」と書くだけで日本語形式になる直感的な設計。Excel はリテラル文字をダブルクォートで囲む。

RFC 2822 形式で出力する(例: Mon, 13 Apr 2026 12:00:00 +0900)応用
複合フォーマット
JavaScript
date.toUTCString()
出力例:Mon, 13 Apr 2026 03:00:00 GMT

toUTCString() で RFC 7231 形式(UTC)

* RFC 2822 厳密にはライブラリが必要

Python
email.utils.format_datetime(dt)
出力例:Mon, 13 Apr 2026 12:00:00 +0900

email.utils モジュールを使用

Go
time.RFC1123Z // = "Mon, 02 Jan 2006 15:04:05 -0700"
出力例:Mon, 13 Apr 2026 12:00:00 +0900

RFC1123Z 定数を使用

PHP
r
出力例:Mon, 13 Apr 2026 12:00:00 +0900

date("r") で RFC 2822 形式

Excel

直接対応する機能なし

Excel では RFC 2822 形式の直接出力は不可

比較メモ: RFC 2822 はメールヘッダ、RFC 7231 は HTTPヘッダに使われる形式。PHP の "r" が最も手軽。

YYYY-MM-DD 形式で出力する(例: 2026-04-13)基本
複合フォーマット
JavaScript
format(date, 'yyyy-MM-dd')
出力例:2026-04-13

date-fns の format() で使用

* toISOString().slice(0,10) でも可(UTC注意)

Python
strftime('%Y-%m-%d') // or: date.isoformat()
出力例:2026-04-13

strftime() または date.isoformat()

Go
2006-01-02
出力例:2026-04-13

参照時刻をハイフン区切りで記述

PHP
'Y-m-d'
出力例:2026-04-13

date("Y-m-d") で出力

Excel
yyyy-mm-dd
出力例:2026-04-13

セルの表示形式で指定

比較メモ: データベースやAPIで最も多用されるフォーマット。ISO 8601 の日付部分。

YYYY-MM-DD HH:mm:ss 形式で出力する基本
複合フォーマット
JavaScript
format(date, 'yyyy-MM-dd HH:mm:ss')
出力例:2026-04-13 12:05:09

date-fns の format() で使用

Python
strftime('%Y-%m-%d %H:%M:%S')
出力例:2026-04-13 12:05:09

strftime() で出力

Go
2006-01-02 15:04:05
出力例:2026-04-13 12:05:09

参照時刻をスペース区切りで記述

PHP
'Y-m-d H:i:s'
出力例:2026-04-13 12:05:09

date() で出力

Excel
yyyy-mm-dd hh:mm:ss
出力例:2026-04-13 12:05:09

セルの表示形式で指定

比較メモ: MySQLのDATETIME型やログファイルで広く使われる形式。

YYYY/MM/DD 形式で出力する(例: 2026/04/13)基本
複合フォーマット
JavaScript
format(date, 'yyyy/MM/dd')
出力例:2026/04/13

date-fns の format() で使用

Python
strftime('%Y/%m/%d')
出力例:2026/04/13

strftime() で出力

Go
2006/01/02
出力例:2026/04/13

参照時刻をスラッシュ区切りで記述

PHP
'Y/m/d'
出力例:2026/04/13

date() で出力

Excel
yyyy/mm/dd
出力例:2026/04/13

セルの表示形式で指定

比較メモ: 日本では YYYY/MM/DD が一般的。欧米の DD/MM/YYYY と混同しないよう注意。

DD/MM/YYYY 形式(ヨーロッパ形式)で出力する中級
複合フォーマット
JavaScript
format(date, 'dd/MM/yyyy')
出力例:13/04/2026

date-fns の format() で使用

* Intl: toLocaleDateString("en-GB")

Python
strftime('%d/%m/%Y')
出力例:13/04/2026

strftime() で出力

Go
02/01/2006
出力例:13/04/2026

参照時刻を DD/MM/YYYY で記述

PHP
'd/m/Y'
出力例:13/04/2026

date() で出力

Excel
dd/mm/yyyy
出力例:13/04/2026

セルの表示形式で指定

比較メモ: 日本・アメリカ(MM/DD)と混同しやすい。国際的なデータ交換では ISO 8601(YYYY-MM-DD)を推奨。

HH:mm:ss 形式(時刻のみ)で出力する基本
複合フォーマット
JavaScript
format(date, 'HH:mm:ss')
出力例:12:05:09

date-fns の format() で使用

* Intl: toLocaleTimeString("ja-JP", { hour12: false })

Python
strftime('%H:%M:%S') // or: time.isoformat()
出力例:12:05:09

strftime() または time.isoformat()

Go
15:04:05
出力例:12:05:09

参照時刻を時刻のみで記述

PHP
'H:i:s'
出力例:12:05:09

date() で出力

Excel
hh:mm:ss
出力例:12:05:09

セルの表示形式で指定

文字列を日付オブジェクトに変換する基本
パース(文字列→日時)
JavaScript
new Date('2026-04-13') // date-fns: parse('2026-04-13', 'yyyy-MM-dd', new Date())
出力例:Date object

new Date() は ISO 8601 形式推奨

* date-fns の parse() でフォーマット指定パースも可能

Python
datetime.strptime('2026-04-13', '%Y-%m-%d')
出力例:datetime object

strptime() でフォーマットを指定してパース

Go
time.Parse("2006-01-02", "2026-04-13")
出力例:time.Time object

Parse() の第1引数にレイアウト(参照時刻形式)を指定

PHP
DateTime::createFromFormat('Y-m-d', '2026-04-13') // or: new DateTime('2026-04-13')
出力例:DateTime object

createFromFormat() でフォーマット指定パース

Excel
=DATEVALUE("2026-04-13")
出力例:シリアル値

DATEVALUE関数で文字列を日付に変換

比較メモ: Go は Parse() にも参照時刻方式のレイアウトを使う。Python は strptime(parse の p)で strftime と対になる。

UNIXタイムスタンプを日時に変換する中級
パース(文字列→日時)
JavaScript
new Date(1776758400 * 1000)
出力例:Date object

Date() はミリ秒を受け取る

* 秒の場合は × 1000 が必要

Python
datetime.fromtimestamp(1776758400)
出力例:datetime object

fromtimestamp() は秒を受け取る

* UTC: datetime.utcfromtimestamp() / datetime.fromtimestamp(ts, tz=timezone.utc)

Go
time.Unix(1776758400, 0)
出力例:time.Time object

Unix(秒, ナノ秒) で変換

PHP
(new DateTime())->setTimestamp(1776758400) // or: date('Y-m-d', 1776758400)
出力例:DateTime object / string

setTimestamp() で秒を指定

Excel
=A1/86400+DATE(1970,1,1)
出力例:日付値

UNIXタイムスタンプ÷86400+基準日

* タイムゾーン補正: +TIME(9,0,0) for JST

比較メモ: JavaScript はミリ秒、他の言語は秒がデフォルト。変換時に ×1000 / ÷1000 を忘れやすいので注意。

ISO 8601 文字列を日時に変換する中級
パース(文字列→日時)
JavaScript
new Date('2026-04-13T12:00:00+09:00')
出力例:Date object

Date() は ISO 8601 を直接パース可能

* 古いブラウザでの挙動差に注意

Python
datetime.fromisoformat('2026-04-13T12:00:00+09:00')
出力例:datetime object

Python 3.7以降で fromisoformat() が使える

* Python 3.10以前は末尾 Z を +00:00 に置換が必要

Go
time.Parse(time.RFC3339, "2026-04-13T12:00:00+09:00")
出力例:time.Time object

RFC3339 定数をレイアウトに指定

PHP
new DateTime('2026-04-13T12:00:00+09:00')
出力例:DateTime object

DateTime コンストラクタで直接パース可能

Excel

直接対応する機能なし

Excel は ISO 8601 文字列を直接パースする関数がない。LEFT/MID で分割して DATE/TIME に渡す

比較メモ: JavaScript の Date() と PHP の DateTime() は ISO 8601 をそのまま受け付ける。Python は 3.7以降で fromisoformat() が追加された。

相対的な時間表現を扱う(例: 3日前)応用
パース(文字列→日時)
JavaScript
date-fns: subDays(new Date(), 3) formatDistanceToNow(date)
出力例:3日前

date-fns の sub*/add* 関数で日時計算

* formatDistanceToNow() で「3日前」のような表示

Python
datetime.now() - timedelta(days=3) // 表示: humanize ライブラリ
出力例:3日前

timedelta で日時の加減算

* 人間可読表示は humanize パッケージが便利

Go
time.Now().AddDate(0, 0, -3) // 表示: 独自実装
出力例:3日前

AddDate(年, 月, 日) で加減算

* 「3日前」のような表示は独自実装またはライブラリ

PHP
new DateTime('-3 days') // or: (new DateTime())->modify('-3 days')
出力例:3日前

DateTime は相対表現を直接パース可能

* "next Monday", "last friday" なども対応

Excel
=TODAY()-3
出力例:3日前の日付

日付のシリアル値に直接加減算

* =NOW()-3 で時刻も含む

比較メモ: PHP が最も柔軟で、"next Monday" や "+2 weeks" のような自然言語的表現もパース可能。

よくある質問

Go の日時フォーマットが特殊なのはなぜですか?(2006-01-02 の意味)

Go は他の言語と異なり、フォーマット文字列に「参照時刻(Reference Time)」を使います。この参照時刻は「2006年1月2日 月曜日 午後3時4分5秒 -0700 (MST)」で、各数字が一意になるよう設計されています。覚え方は「1月2日 午後3時4分5秒 2006年」= 「01/02 03:04:05PM '06 -0700」と順番に並んでいること。例えば "2006-01-02" は "YYYY-MM-DD" に、"15:04:05" は "HH:mm:ss" に対応します。Go の設計者は printf スタイルの %Y や strftime のような暗号的な記号より、実際の出力例に近い形式の方が可読性が高いと考えてこの方式を採用しました。

JavaScript の日時フォーマットには何を使うべきですか?(date-fns vs dayjs vs Intl.DateTimeFormat)

現在のJavaScript開発では、主に3つの選択肢があります。(1) date-fns: Tree-shaking対応で必要な関数だけインポートでき、バンドルサイズを最小化できます。format(date, "yyyy-MM-dd") のように使います。(2) dayjs: moment.js の軽量代替として人気。dayjs().format("YYYY-MM-DD") のようにチェーン記法で使います。(3) Intl.DateTimeFormat: ブラウザ組み込みAPIでライブラリ不要。new Intl.DateTimeFormat("ja-JP").format(date) でロケール対応も簡単です。用途別のおすすめは、バンドルサイズ重視→Intl API、複雑なフォーマット→date-fns、既存プロジェクトでmoment.jsを置き換える→dayjsです。moment.js は開発終了(メンテナンスモード)なので新規採用は避けましょう。

Python の strftime と strptime はどう違いますか?

strftime (string format time) は「日時オブジェクト → 文字列」への変換、strptime (string parse time) は「文字列 → 日時オブジェクト」への変換です。名前が似ていて混同しやすいですが、f = format(出力)、p = parse(解析)と覚えましょう。使い方の例: dt.strftime("%Y-%m-%d") → "2026-04-13"(datetime → str)。datetime.strptime("2026-04-13", "%Y-%m-%d") → datetime(2026, 4, 13)(str → datetime)。フォーマット指定子(%Y, %m など)は両方で共通です。なお、Python 3.7以降では datetime.fromisoformat() でISO 8601文字列の簡易パースも可能です。

PHP の date() と DateTime::format() はどう違いますか?

date() は手続き型の関数で date("Y-m-d") のように使います。DateTime::format() はオブジェクト指向のメソッドで $dt->format("Y-m-d") のように使います。フォーマット文字列(Y, m, d, H, i, s 等)は両方で共通です。主な違いは、date() はサーバーのデフォルトタイムゾーンを使いますが、DateTime はオブジェクトごとにタイムゾーンを保持できます。また、DateTimeImmutable を使えばイミュータブルな操作が可能です。現代のPHP開発では、タイムゾーン管理の安全性からDateTime/DateTimeImmutableの使用が推奨されています。

Excel で「月」と「分」が同じ mm ですが、どう区別しますか?

Excel のカスタム書式では mm は文脈(コンテキスト)で自動判断されます。hh(時間)の直後に置かれた mm は「分」として、yyyy や dd の近くに置かれた mm は「月」として解釈されます。例: "yyyy/mm/dd" → 月、"hh:mm:ss" → 分。ただし "yyyy/mm/dd hh:mm:ss" のように両方含む場合、最初の mm は月、2番目の mm は分と正しく解釈されます。もし意図通りにならない場合は、m(ゼロ埋めなし月)と mm(ゼロ埋め月)を使い分けるか、分には必ず hh の後に配置することで対処できます。この仕様は Excel 特有で、他のプログラミング言語では月と分に別の文字を割り当てています(例: PHP は m=月、i=分)。

タイムゾーンの取り扱いは言語ごとにどう違いますか?

JavaScript: Date は内部的にUTCで保持し、表示時にローカルタイムゾーンに変換します。toISOString() は常にUTC。Intl.DateTimeFormat で任意のタイムゾーン指定が可能です。Python: naive datetime(タイムゾーン情報なし)と aware datetime(タイムゾーン付き)の2種類があり、混在させるとエラーになります。Python 3.9以降は zoneinfo モジュールが標準で使えます。Go: time.Time は常にタイムゾーン情報を保持。time.LoadLocation("Asia/Tokyo") でタイムゾーンを指定します。PHP: DateTime はタイムゾーンをオブジェクトに保持。date_default_timezone_set() でデフォルトを設定します。Excel: タイムゾーンの概念がなく、入力された日時をそのまま保持します。

データはいつ更新されますか?

最終更新日: 2026-04-13。JavaScript(date-fns/Intl API)、Python(datetime/strftime)、Go(time パッケージ)、PHP(DateTime)、Excel の主要な日時フォーマット文字列を網羅的に掲載しています。各言語の仕様変更や新機能追加があった場合は随時更新します。

ISO 8601 とは何ですか?なぜ重要なのですか?

ISO 8601 は日付と時刻の表記に関する国際規格で、"2026-04-13T12:00:00+09:00" のような形式を定義しています。重要な理由は3つあります。(1) 曖昧さがない: "04/13/2026"(アメリカ式)と "13/04/2026"(ヨーロッパ式)のような混乱が起きません。(2) ソート可能: 文字列としてそのままソートしても時系列順になります。(3) 事実上の標準: REST API、JSON、ログファイル、データベースなど、プログラム間のデータ交換では ISO 8601(およびそのプロファイルである RFC 3339)が広く採用されています。すべてのプログラミング言語に ISO 8601 の入出力機能が用意されており、本ツールでも各言語での使い方を確認できます。日時データを扱うなら、まず ISO 8601 を基本にすることをお勧めします。

逆引き・早見表ツール一覧

すべて見る

このツールについて

使い方

  1. 検索欄にフォーマット文字列(例: %Y, yyyy, 2006)や操作内容(例: 年, 月, ISO)を入力する
  2. 「JavaScript」「Python」「Go」「PHP」「Excel」のフィルターで見たい言語に絞り込む
  3. カテゴリドロップダウンで年・月・日・時刻・複合フォーマット等の種類別に絞り込む
  4. 難易度フィルター(基本・中級・応用)で自分のレベルに合ったフォーマットを探す

このツールの特徴

  • 5つの言語/ツールを横断比較:JavaScript(date-fns / Intl API)・Python(strftime)・Go(参照時刻方式)・PHP(date())・Excel(表示形式)の同じ操作に対応するフォーマット文字列を並べて表示します
  • Go の参照時刻方式を詳しく解説:Go 独特の「2006-01-02 15:04:05」方式は初見では理解しにくいですが、各エントリの注釈で対応する数値の意味を補足しています
  • 「やりたいこと」から逆引き:「4桁の年を取得したい」「ISO 8601で出力したい」など、目的からフォーマットを検索できます
  • 出力例付きで分かりやすい:各フォーマット文字列に対して実際の出力例を表示。「この書式で何が出力されるか」が一目で分かります
  • 比較メモで言語間の落とし穴を解説:JavaScript のミリ秒と他言語の秒の違い、Excel の mm が月か分かの判断基準など、言語間で間違えやすいポイントを補足しています

こんなときに便利

  • Python から Go に移行して、strftime の %Y-%m-%d が Go ではどう書くか分からない
  • Go の「2006-01-02 15:04:05」方式の各数字の意味を確認したい
  • PHP の date() で分を取得する文字が「i」であることを忘れた
  • API のレスポンスを ISO 8601 形式で返す方法を各言語で確認したい
  • Excel の表示形式で日時のフォーマットを設定する方法を調べたい

なぜ「日時フォーマット横断検索」が必要なのか

プログラミングで日時を扱うとき、最も困るのがフォーマット文字列の違いです。Python の %Y は Go では 2006、PHP では Y、Excel では yyyy——同じ「4桁の年」を表すのに、言語ごとにまったく異なる記法が使われています。特に Go の参照時刻方式(「2006年1月2日 15時4分5秒」の各部分を入れ替える方式)は、他の言語から移行した開発者が最初に躓くポイントです。

既存のドキュメントは「Python の strftime 一覧」「Go の time パッケージリファレンス」のように単一言語に特化したものがほとんどです。複数の言語を同時に使うプロジェクト(例: Python のバックエンド + JavaScript のフロントエンド + Excel でのデータ確認)では、言語を横断して「同じ操作がどう書かれるか」を一覧比較できるツールが必要です。

このツールは「やりたいこと」を起点に、5つの言語/ツールの日時フォーマットを一覧比較することで、言語間の移行コストを最小化し、日時処理のバグを未然に防ぐことを目指しています。

各言語の日時処理の特徴

  • JavaScript:組み込みの Date オブジェクトは機能が限定的で、フォーマット機能がありません。Intl.DateTimeFormat API でロケール対応の表示が可能ですが、細かいフォーマット指定には date-fns や dayjs などのライブラリが事実上必須です。Date.now() はミリ秒を返すため、他の言語(秒ベース)との変換時に注意が必要です。
  • Python:datetime モジュールの strftime/strptime が標準的な日時フォーマット手段です。%Y, %m, %d のような printf スタイルのフォーマット指定子を使います。タイムゾーン対応は naive/aware の区別があり、Python 3.9 以降の zoneinfo モジュールで改善されました。
  • Go:他の言語と根本的に異なる「参照時刻方式」を採用しています。「2006年1月2日 月曜日 午後3時4分5秒 -0700 (MST)」という特定の時刻の各部分をフォーマット文字列として使います。一見奇妙ですが、出力例とフォーマット文字列がほぼ同じになるため、慣れると可読性が高い設計です。
  • PHP:date() 関数で Y(年)、m(月)、d(日)、H(時)、i(分)、s(秒)のような1文字のフォーマット文字を使います。月の m と分の i が異なる文字である点は覚える必要がありますが、一度覚えれば直感的です。DateTimeImmutable クラスでイミュータブルな操作が推奨されています。
  • Excel:セルの「表示形式」で日時のフォーマットを制御します。yyyy(年)、mm(月/分)、dd(日)、hh(時)、ss(秒)を組み合わせます。mm が月か分かはコンテキスト(前後の文字)で自動判断される独特の仕様があります。プログラミング言語と異なり、タイムゾーンの概念がない点にも注意が必要です。