技術的に何か理由があるのでしょうか?RDBMSの場合、パフォーマンスに関係しているのではないかと考えていました。というのも、"YEAR"は"MONTH"よりも具体的だからです。
しかし、それが本当に意味のあることなのかどうかはわかりません...。何か理由があるのでしょうか?
こうすることで、日付を文字列として、デフォルトのソートルール(つまり辞書的ソート)を使って簡単にソートすることができます。
月と日が2桁で指定されているのもこのためです(必要に応じて先頭にゼロを追加しています)。
実際、これはISO 8601で定義されている日付フォーマットの一つです。 ISO 8601では,「2015-03-27T15:26:40Z」という日付・時刻フォーマットも定義されており,こちらも文字列としてソート可能である.
しかし、YYYYMMDDには、文字列を整数として解析することが簡単にでき(部分文字列や文字の置き換えは必要ありません)、整数のデフォルトの順序付けを使用できるという利点があります。
それは、他のすべての方法が曖昧だからです。
01/02/2003......それはどういう意味?2003年1月2日?それともヨーロッパでは2003年2月1日? 01/02/03のように年号を2桁で表記すると、さらに悪化します。
だからこそYYYYMMDDを使うのです。これは日付を明確に伝えるための慣習であり、20030201という日付は常に明確です。(20030201という日付は常に明確ですし、ソートもしやすくなります)
(だからと言って、それを整数の20 million 30 thousand 2 hundred and 1として保存するのはやめてください。)
YYYYMMDDは、数字を並べるのと同じように、日付を並べます。MMDDYYYYは、"one hundred twenty three"を"twenty and one hundred three"と書くようなものです。
私たちの文化では、MMDDYYYYを自然に理解しています。なぜなら、人間は時間を意識し、年はゆっくりと進行するからです。今が何年かはだいたいわかります。年号を見ることはほとんど重要ではないので、後ろに追いやります。月はその重要性を維持するのに十分な速さで変わっていきます。他の文化ではこの扱い方が異なります。世界の多くの国ではDDMMYYYYが好まれています。