
utcNow関数やformatDateTime関数などで日付のフォーマットを指定するときのコツを教えてください!

もちろんです。フォーマットの指定方法を一通り学習して、
自由自在に日付を出力できるようにしましょう!
この記事では、utcNow関数のような日付を出力する関数で、日付のフォーマットを操作する方法を記載します。

- 「カスタム日時形式文字列」で自分の好きな日付形式にカスタマイズする方法
- 「標準の日時書式指定文字列」であらかじめ決められた日付フォーマットを利用する方法
「カスタム日時形式文字列」で日付形式を自分でカスタマイズ
「カスタム日時形式文字列」とは、自分で自由にフォーマットを指定できる書式のことです。
冒頭の画像で取り上げたutcNow('yyyy/MM/dd')
もこの書式に当てはまります。
秒 ~ 年 の出力方法

書式指定子 | 説明 | 注意 |
---|---|---|
yyyy | 年 (4桁) 例: 2025年の場合 → 2025 | |
yy | 年 (2桁) 例: 2025年の場合 → 25 | |
MM | 月 (2桁、0埋め) 例: 1月の場合 → 01 | 月を出力する際は大文字で記載すること ※小文字にすると、minutesの「分」が出力される |
M | 月 (1~2桁) 例: 1月の場合 → 1 | 月を出力する際は大文字で記載すること ※小文字にすると、minutesの「分」が出力される |
dd | 日 (2桁、0埋め) 例: 9日の場合 → 09 | |
d | 日 (1~2桁) 例: 9日の場合 → 9 | |
HH | 時間(2桁、0埋め、24時間形式) 例: 5時の場合 → 05 | 12時間形式で出力する際は、 「hh」と小文字で記載すること |
H | 時間(1~2桁、24時間形式) 例: 5時の場合 → 5 | 12時間形式で出力する際は、 「h」と小文字で記載すること |
mm | 分(2桁、0埋め) 例: 3分の場合 → 03 | |
m | 時間(1~2桁) 例: 3分の場合 → 3 | |
ss | 秒(2桁、0埋め) 例: 6秒の場合 → 06 | |
s | 時間(1~2桁) 例: 6秒の場合 → 6 |

0埋めで表示したい場合は、「MM」、「dd」など、2桁で記載します。
曜日の出力方法
曜日を出力する際は、formatDateTime関数を利用すると「ロケール」指定することが可能です。
ロケールを日本に設定することで、曜日が日本語で出力されます。
※何も指定しないと英語で出力されます 例:Mon

書式指定子 | 説明 | 注意 |
---|---|---|
dddd | 曜日(フル) 例: 月曜日の場合 → 月曜日 | ロケールを設定しないと、「Monday」と出力されます |
ddd | 曜日 (省略形) 例: 月曜日の場合 → 月 | ロケールを設定しないと、「Mon」と出力されます |
「カスタム日時形式文字列」についての詳細は、Microsoft公式記事を参照ください。
「標準の日時書式指定文字列」で定義済の日付形式を利用
「標準の日時書式指定文字列」とは、すでに定義済の日付の書式です。


あれ!月を1桁で出力したいから(‘M’)と入力したら、
英語で月日が出力されちゃった!

それがずばり「標準の日時書式指定文字列」というものです。
「M」は、月日が出力されるように予約されている文字なのです。
「標準の日時書式指定文字列」の一例
標準の日時書式指定文字列を利用する場合も、ロケールと合わせて利用すると便利です。

書式指定子 | 説明 | 注意 |
---|---|---|
M | 月日 例: 2月25日 | ロケールを設定しないと、「February 25」と出力されます |
D | 日付 (漢字) 例: 2025年2月25日 | ロケールを設定しないと、「Tuesday, February 25, 2025」と出力されます |
d | 日付 例: 2025/02/25 | ロケールを設定しないと、「2/25/2025」と出力されます |
G | 日付と時刻 (秒数あり) 例: 2025/02/25 12:25:32 | ロケールを設定しないと、「2/25/2025 12:25:32 PM」と出力されます |
g | 日付と時刻 (秒数なし) 例: 2025/02/25 12:25 | ロケールを設定しないと、「2/25/2025 12:25 PM」と出力されます |
T | 時刻 (秒数あり) 12:50:00 | ロケールを設定しないと、「12:50:00 PM」と出力されます |
t | 時刻 (秒数なし) 12:50 | ロケールを設定しないと、「12:50 PM」と出力されます |
「カスタム日時形式文字列」についての詳細は、Microsoft公式記事を参照ください。
月(1桁)だけを出力したい場合

「M」が「標準の日時書式指定文字列」として予約されていることはわかったけど、月だけを一桁で表示したい場合はどうすればいいの?

「%」の記号を利用すると、
その後の文字を「カスタム日時形式文字列」として扱うことができますよ!
「2月25日」と表示させる「標準の日時書式指定文字列」の「M」ではなく、
「2」と「カスタム日時形式文字列」で表示したい場合は、書式指定子の前に「%」を入力して下さい。

コメント