はじめに
最近、たてつづけにAutomation360で日付の表示がうまくいかないという相談を受けました。例えば、2022/01/29という表示をしたいのにうまくいかないという現象です。
これは、Automation360に限った話ではありませんし、あちこちに書かれていますが、それでも間違ってしまう人が多いのです。
ネタの重複になるかもしれませんが、情報が目にふれる機会を増やす意味でここでも書いてみます。
日付のカスタムフォーマット(大文字・小文字に注意)
先に書いた「2022/01/29という表示」をしたい場合は、yyyy/MM/ddです。
yyyyとddは小文字。
MMは大文字。
yyyy/mm/ddやYYYY/MM/DDと書くとハマります。
大文字小文字ってどんな意味があるの?
これもあちこちに情報ありますが、例えば以下。
https://docs.oracle.com/javase/jp/8/docs/api/java/text/SimpleDateFormat.html
Mが月で、mは分というのは、間違っても気づきやすくて救われます。
でも、
yは年で、Yは暦週の基準年
dは年における日で、Dは月における日
って意味わからないですよね。
1月にYYYY/MM/DDって書いたら悲惨です。
すぐに間違いに気付きません。
1月は上手く行ってたけど2月に日付が変になる。
あわててDDを直して、一安心。
そのまま1年近くたった年末にサブマリン不良YYYY発動!になるかもしれません。
DDに比べると、YYYYはあまり知られていない感じがします。
まとめ
日付フォーマット文字列の詳細は、あちこちに書かれているのでここでは割愛します。
が、ここでお伝えしたいのは、ただ一言。
大文字・小文字の違いに注意しましょう!!
詳しく知りたい人むけ参考サイト
(1) yyyyとYYYYの話
(2) mmとMMの話
(3) ddとDDの話も含んだ、とっても詳しいページ