『JavaScriptはたまに使う』程度の筆者による、メモ書き程度の内容です。
moment.jsとはJavasSriptで日時計算を楽にしてくれるライブラリーです。
参考文献
公式サイトはmomentjs.comです。
フォーマットの指定の仕方
Moment.js | Docs
上記画面への到達経路:
moment.jsリファレンスサイトのTop
->Docs
->Display
->Format
- 公式ドキュメントが網羅的に記述しています。
- バリエーションの範囲を把握するためにも一度目を通しておくことをお勧めします。
よく使いそうな組み合わせ
// 日時のセット const d = moment('2020-07-05 15:34:56'); // 20200705153456 console.log(d.format('YYYYMMDDHHmmss')); // 20200705033456 console.log(d.format('YYYYMMDDhhmmss')); // 15:34:56 console.log(d.format('HH:mm:ss')); // 03:34:56 午後 console.log(d.format('hh:mm:ss a')); // 7/5/2020 console.log(d.format('l')); // Jul 5, 2020 console.log(d.format('ll')); // Jul 5, 2020 3:34 PM console.log(d.format('lll')); // Sun, Jul 5, 2020 3:34 PM console.log(d.format('llll')); // 07/05/2020 console.log(d.format('L')); // July 5, 2020 console.log(d.format('LL')); // July 5, 2020 3:34 PM console.log(d.format('LLL')); // Sunday, July 5, 2020 3:34 PM console.log(d.format('l')); console.log(d.format('LLLL')); // 文字列をエスケープする場合は'[]'で囲む console.log(d.format('[Today is ]:L'));
よく使いそうな記号
年・月・日・週
分類 | 記号 | 表示 | 備考 |
---|---|---|---|
年 | YY | 70 71 ... 29 30 | |
YYYY | 1970 1971 ... 2029 2030 | ||
YYYYYY | -001970 -001971 ... +001907 +001971 | ※1 | |
Y | 1970 1971 ... 9999 +10000 +10001 | ※2 | |
y | 1 2 ... 2020 ... | ||
月 | M | 1 2 ... 11 12 | |
Mo | 1st 2nd ... 11th 12th | ||
MM | 01 02 ... 11 12 | ||
MMM | Jan Feb ... Nov Dec | ||
MMMM | January February ... November December | ||
日(Day of Month) | D | 1 2 ... 30 31 | |
Do | 1st 2nd ... 30th 31st | ||
DD | 01 02 ... 30 31 | ||
日(Day of Year) | DDD | 1 2 ... 364 365 | |
DDDo | 1st 2nd ... 364th 365th | ||
DDDD | 001 002 ... 364 365 | ||
曜日(Day of Week) | d | 0 1 ... 5 6 | |
do | 0th 1st ... 5th 6th | ||
dd | Su Mo ... Fr Sa | ||
ddd | Sun Mon ... Fri Sat | ||
dddd | Sunday Monday ... Friday Saturday | ||
日(Day of Week(Locale)) | e | 0 1 ... 5 6 | |
日(Day of Week(ISO)) | E | 1 2 ... 6 7 | |
週数(Week of Year) | w | 1 2 ... 52 53 | |
wo | 1st 2nd ... 52nd 53rd | ||
ww | 01 02 ... 52 53 | ||
週数Week of Year (ISO) | W | 1 2 ... 52 53 | |
Wo | 1st 2nd ... 52nd 53rd | ||
WW | 01 02 ... 52 53 |
※1 1970年1月1日から前後に約273,790年の全時間の値の範囲をカバー
※2 これは、9999年を過ぎた日付のISO 8601規格に準拠しています
時・分・秒
分類 | 記号 | 表示 | 備考 |
---|---|---|---|
時 | H | 0 1 ... 22 23 | |
HH | 00 01 ... 22 23 | ||
h | 1 2 ... 11 12 | ||
hh | 01 02 ... 11 12 | ||
k | 1 2 ... 23 24 | ||
kk | 01 02 ... 23 24 | ||
分 | m | 0 1 ... 58 59 | |
mm | 00 01 ... 58 59 | ||
秒 | s | 0 1 ... 58 59 | |
ss | 00 01 ... 58 59 |
ローカライズされた形式
分類 | 記号 | 表示 | 備考 |
---|---|---|---|
時間 | LT | 8:30 PM | |
秒の時間 | LTS | 8:30:25 PM | |
月の数字、日、年 | L | 09/04/1986 | |
l | 9/4/1986 | ||
月の名前、日、年 | LL | September 4, 1986 | |
ll | Sep 4, 1986 | ||
月の名前、日、年、時間 | LLL | September 4, 1986 8:30 PM | |
lll | Sep 4, 1986 8:30 PM | ||
月の名前、曜日、曜日、年、時間 | LLLL | Thursday, September 4, 1986 8:30 PM | |
llll | Thu, Sep 4, 1986 8:30 PM |
その他
分類 | 記号 | 表示 | 備考 |
---|---|---|---|
Quarter | Q | 1 2 3 4 | |
Qo | 1st 2nd 3rd 4th | ||
Era Year | y | 1 2 ... 2020 ... | |
Era | N | BC AD | ※3 |
NN | BC AD | ※4 | |
NNN | Before Christ, Anno Domini | ※5 | |
Week Year | gg | 70 71 ... 29 30 | |
gggg | 1970 1971 ... 2029 2030 | ||
Week Year (ISO) | GG | 70 71 ... 29 30 | |
GGGG | 1970 1971 ... 2029 2030 | ||
AM/PM | A | AM PM | |
a | am pm | ||
小数秒(Fractional Second) | S | 0 1 ... 8 9 | |
SS | 00 01 ... 98 99 | ||
SSS | 000 001 ... 998 999 | ||
SSSS... SSSSSSSSS | 000[0..] 001[0..] ... 998[0..] 999[0..] | ||
Time Zone | z or zz | EST CST ... MST PST | ※6 |
Z | -07:00 -06:00 ... +06:00 +07:00 | ||
ZZ | -0700 -0600 ... +0600 +0700 | ||
Unix Timestamp | X | 1360013296 | |
Unix Millisecond Timestamp | x | 1360013296123 |
※3 略称
※4 狭い時代名
※5 完全な時代名
※6 1.6.0,のよう Z / ZZフォーマットトークンはプレーンな瞬間のオブジェクトから推奨されていません。ただし、moment-timezoneアドオンで特定のタイムゾーンを使用している場合は、動作します。