ファイルとかフォルダーとかその他いろいろに日付を付けるでしょ?
タイムスタンプってやつ。
細かい話だけどさ。文字数には意味がある場合があるから。
年月日の表し方
ユーザーはシステムの仕様書をつくるわけじゃないだろうから、ある程度のことはいいんだけどさ。
伝え方によっては期待どおりのものが出てこないかもよ。
ちょっとでも違うとちゃんと動かないってことは覚えといたほうがいい。
特にExcelで考えれば分かるんじゃないかと。
てなわけで、引き合いに出してみた。
文字の数に意味がある
Yは年。
Mは月。
Dは日。
それぞれを表してる。で、今回問題視してるのは月と日。
表記のこと。
これって、仕様として開発者に伝わるから。
ちゃんとチェックしたいし、エンジニアとしては確認しておきたいところ。
年に関しては、2文字でも4文字でもいいと思うんだよね。
どうせそのシステムがあと50年以上持つとも思えないし。
ただ、やっぱ見やすさとか考えたら、4文字にしとくべきだと思う。
あと、時間も。
hhmmssで。
年月日だけじゃユニークにならないことも多いし。
なんなら秒の小数点以下まで指定するよ。
YYYYMMDD
年が4文字。
月が2文字。固定。
日が2文字。固定。
月日がそれぞれ2文字固定ってところがポイント。
たとえば、以下のようになる。
カレンダー日付 | 出力地 |
---|---|
5月5日 | 0505 |
7月15日 | 0715 |
10月2日 | 1002 |
12月20日 | 1220 |
全部4文字で出力されるねって話。
YYYYMD
年が4文字。
月が可変。
日が可変。
月日の文字数がそれぞれ変わるってこと。
たとえば、以下のようになる。
カレンダー日付 | 出力地 |
---|---|
5月5日 | 55 |
7月15日 | 715 |
10月2日 | 102 |
12月20日 | 1220 |
不要なゼロが出力されないってメリットはある。
データの節約になるってこと。
なんだけど、それはそれでデメリットも多い。
Excelでやってみればいい
Excelにて。
セルの書式設定で表示形式をいじくってみるといいよ。
「MM」と「M」の違いがよく分かる。
ちなみに、時間も気にしてね。
hhmmssで、大文字と小文字で差があるわけだな。
システムってのはそんなもんだ。
どんなときに困るか
文字列を取得して、その中から年月日をそれぞれ切り出すとか。
年は4文字だからいいとして、月と日に関しては大変な苦労をすることになる。
どう考えても2文字表記にすべき。
すごく昔は、メモリーに限りがあったこともあって、不要な情報は残さず、アルゴリズムでなんとかするって考え方もあったらしいが。
イマドキそんなこと。。
2文字の差なんて、レスポンスに影響しないって。
データ量だってチリが積もってくわけだが。それでもねぇ。。
利便性を考えたら、YYYYMMDDが正義。
ご意見やご感想などお聞かせください! コメント機能です。