コンテンツにスキップ

日付フォーマットの仕様

日付の形を %Y-%m-%d のような記号で nehan に伝えるための書き方です。文字列を日付として読むときに使います。
日付を文字に戻すとき(変数)にも同じ記号を使いますが、グラフだけは別の書き方です(効いてくる場面)。

記号の一覧

要素記号読むときに合う文字見せるときに出る文字
年(4 桁)%Y20242024
年(2 桁)%y2424
月%m01 101
日%d15 515
時(24 時間制)%H1313
時(12 時間制)%I0101
分%M3030
秒%S4545
小数秒%f小数点以下の桁(下記)6 桁
午前・午後%pPMPM
月の英語名%BJanuaryJanuary
月の英語略称%bJanJan

記号以外の文字(単位や区切り記号)は、データの見た目のとおりに書きます。 2024年1月15日 であれば %Y年%m月%d日 です。

使えない組み合わせがある

記号は自由に組み合わせられません。 次の 3 つに当てはまる書き方は、データを見る前に拒否されます。データの中身とは関係なく、必ず失敗します。

当てはまる書き方例
時(%H %I)と分(%M)の片方だけを書いた%Y/%m/%d %H / %Y/%m/%d %M
秒(%S)を書いたのに時を書いていない%Y/%m/%d %S
12 時間制(%I)と午前・午後(%p)の片方だけを書いた%Y/%m/%d %I:%M / %Y/%m/%d %p

出るメッセージは外れたときにあります。

書かなかった要素は補われる

書かなかった要素補われる値
日1 日(%Y-%m に 2024-01 を読ませると 2024 年 1 月 1 日)
月1 月(%Y に 2024 を読ませると 2024 年 1 月 1 日)
年1900 年(%m月%d日 に 01月15日 を読ませると 1900 年 1 月 15 日)

1 桁の月日が読めない形がある

日まで書いた形式なら、月も日も 1 桁で読めます。 %Y年%m月%d日 は 2024年1月15日 も 2024年01月15日 も読みます。

日を書かない形式では、2 桁に揃っている必要があります。

データ形式結果
2024年01月%Y年%m月2024 年 1 月 1 日
2024年1月%Y年%m月欠損値になる
01月15日%m月%d日1900 年 1 月 15 日
1月15日%m月%d日欠損値になる

時間の形式(%H時%M分%S秒)は、1時5分3秒 のように 1 桁でも読めます。

小数秒はドットから続けて書く

小数秒は .%f と、ドットを %f の直前に付けて書きます。 桁数は何桁でもよく、.123 は 123 ミリ秒、.123456 は 123456 マイクロ秒として読まれます。

データ形式結果
13:05:30.123%H:%M:%S.%f13:05:30.123
13:05:30.123456%H:%M:%S.%f13:05:30.123456
13:05:30.123456789%H:%M:%S.%f13:05:30.123456(7 桁目から先は落ちる)
13:05:30%H:%M:%S.%f13:05:30(小数秒がなくてもエラーにならない)

nehan が持てる小数秒はマイクロ秒(6 桁)までです。7 桁目から先は、形式を指定してもしなくても落ちます。

見せるときの %f は 6 桁で出ます。.123 を持つ値は .123000 と表示されます。

効いてくる場面

場面どちらの形式か行き先
文字列を日付型に変える読むとき列の型変更
日付の変数を作る見せるとき変数構成要素と変数型

日付要素の切り出しに記号を書く欄はありません。 取り出す要素を一覧から選ぶだけで、形式は nehan が決めます。

外れたとき

使えない組み合わせを書いた

使えない組み合わせがあるの 3 つに当てはまると、入力した形式がそのままメッセージに出ます。

日付フォーマット「%Y/%m/%d %H」は使用できません。時(%H)と分(%M)は両方指定するか、どちらも指定しないでください。

日付フォーマット「%Y/%m/%d %S」は使用できません。秒(%S)を指定する場合は時(%H)も指定してください。

日付フォーマット「%Y/%m/%d %I:%M」は使用できません。12時間表記(%I)と午前/午後(%p)は両方指定するか、どちらも指定しないでください。

上の 3 つのどれにも当てはまらない形で拒否されたときは、理由を示さないメッセージになります。

日付フォーマット「%Y/%m/%d %H」は使用できません。指定内容を見直してください。

直し方 — メッセージに出ている形式を記号の一覧と見比べて組み直します。

形式は使えるがデータが読めない

形式そのものは使えるが、その形で読めない値が列に入っているときです。

値: 2019/4/1 が入力された日付フォーマットで読み込めませんでした。フォーマットを見直すか、「型変更不可エラーを無視する」オプションを有効にするか、データを修正してください。参考: https://octopus.nehan.io/manual/1152/

直し方 — メッセージに出ている値を手がかりに、記号以外の文字がデータと合っているかを確かめます。値の前後の空白や、1 つの列に混ざった 2 種類の形も原因になります。残りのエラーと直し方は列の型変更にあります。

関連