Um dos motivos é que o domínio do aplicativo e os usuários podem não usar esses padrões. Mesmo quando alguns domínios usam alguns padrões, alguns deles podem ter feito escolhas diferentes dos padrões ISO, geralmente por razões históricas.
Se seus usuários já usam "UK" em seus procedimentos existentes (1) para se referir a "Reino Unido da Grã-Bretanha e Irlanda do Norte", não faz sentido usar "GB" em suas estruturas de dados (especialmente se você significa que país não é um país "ISO", por exemplo, separando nações do Reino Unido ou tendo diferenças sutis com as Ilhas do Canal e assim por diante). Obviamente, você pode ter um mapeamento entre o armazenamento interno e uma apresentação, mas às vezes é um pouco exagerado. Você raramente está programando para programar, geralmente precisa se adaptar ao seu ambiente. 2)
Você também deve se lembrar que esses padrões evoluíram em paralelo com o software. Você geralmente precisa desenvolver no contexto de outras partes de software, algumas das quais podem ser projetadas de maneira imperfeita, algumas das quais ainda podem ser afetadas por decisões herdadas.
Mesmo se você olhar para os formatos internos de armazenamento de dados, é difícil resolver algumas ambiguidades. Por exemplo, até onde eu sei, o Excel usa um número decimal para representar registros de data e hora: usa um número inteiro como o número de dias desde a data de referência; depois, o que é depois do decimal representa a fração das 24 horas para fornecer a hora. .. O problema é que isso impede que você leve em consideração os fusos horários ou o horário de verão (23h ou 25h em um dia), e o Excel converte qualquer data / hora para esse formato interno por padrão. Se você deseja usar o formato ISO ou não, torna-se irrelevante se outro software com o qual você tiver que trabalhar não lhe deixar uma escolha.
(1) Não quero dizer "procedimentos de programação" aqui.
(2) Não me pergunte por que as pessoas também não usam esses padrões em suas vidas diárias. Quero dizer YYYYmmdd é claro, dd / mm / YYYY é claro, mas ordenar uma data com média, pequena e grande ordem de granularidade como mm / dd / YYYY, isso simplesmente não faz sentido :-).