Qual é a necessidade da função JavaScript getUTClyEar ()?
-
18-09-2019 - |
Pergunta
Existe algum caso real em que o getUTClyEar () difere do FetlyEar () em JavaScript?
O mesmo vale para:
getutcmonth () vs getmonth ()
getutcdate () vs getDate ()
Estou perdendo alguma coisa aqui?
EDITAR:
Ver documentação getutclyear ().
Existe algum caso real em que o getUTClyEar () difere do FetlyEar () em JavaScript?
Solução
Sim, por volta do ano novo. Se o seu TZ for -12, o valor difere entre 31. Dezembro, 12:00 e meia -noite.
Outras dicas
Os métodos getutc ... () retornam a data e a hora no fuso horário da UTC, enquanto as outras funções retornam a data e a hora no fuso horário local do computador em que o script está sendo executado.
Às vezes, é conveniente ter a data e a hora no fuso horário local e, às vezes, é conveniente ter a data e a hora em um fuso horário independente do fuso horário local do computador.
Existem maneiras de converter entre os fusos horários em JavaScript, mas eles são pesados.
Então, acho que é apenas por conveniência.
As funções que você liste relatam essencialmente o tempo em diferentes fusos horários, para ter um caso em que getUTCFullYear()
vai diferir de getFullYear()
Será na noite de 31 de dezembro se você morar a oeste do Meridian Greenwich.
Por exemplo, no seu fuso horário local, o horário pode ser 21:00, mas na UTC já pode ser 2 da manhã em 1º de janeiro, então:
var d = new Date();
d.getFullYear() == 2009 //True
d.getUTCFullYear() == 2010 //True
É confuso, pois os métodos operam em um Date
objeto em vez de relatar o tempo atual do UTC. Mas o método diz, se é o momento aqui, em que ano é no fuso horário da UTC. Portanto, para 364,75 dias dos anos relatados pelos dois métodos, serão os mesmos.
Como 31 de dezembro vai para 1 de janeiro, isso acontece em momentos diferentes em diferentes partes do mundo. Portanto, o tempo da UTC será diferente da hora local da Nova Zelândia - portanto, em algum momento, obtiverá () diferirá do getUTClyEar () por 1.