Eu estava codificando uma função para remover um dia de um valor de data em javascript e fiquei surpresa que o getMonth () do javascript comece de 0 para janeiro a 11 para dezembro. Por que getMonth () do javascript começa com 0?
Eu estava codificando uma função para remover um dia de um valor de data em javascript e fiquei surpresa que o getMonth () do javascript comece de 0 para janeiro a 11 para dezembro. Por que getMonth () do javascript começa com 0?
Respostas:
em um palpite, para ajudar na indexação em matrizes.
Imagine que você tem suas seqüências de exibição do mês armazenadas em uma matriz e deseja obter a sequência correta usando getMonth ()
é claro, por que matrizes começam em zero é outra questão
Provavelmente porque a chamada da biblioteca C invocada para obter o valor retornado, retorna meses dessa maneira.
(E o motivo desse design era mais provável porque a chamada da biblioteca foi projetada junto com o programa para realmente imprimir a data, onde um índice baseado em zero poderia ser usado diretamente para imprimir os nomes dos meses)
struct tm
fizeram dessa maneira.