2009-08-18 14 views
9

Esiste un caso reale in cui getUTCFullYear() differisce da getFullYear() in javascript?Qual è la necessità della funzione javascript getUTCFullYear()?

Lo stesso vale per:

getUTCMonth() vs getMonth()

getUTCDate() vs getDate()

mi manca qualcosa qui?

EDIT:

Vedi getUTCFullYear() documentation.

C'è qualche caso reale in cui getUTCFullYear() differisce da getFullYear() in javascript?

+1

Questo link non funziona correttamente per me. Finisco su http://docs.oracle.com/en/. – ADH

risposta

8

Sì, intorno all'anno nuovo. Se il tuo TZ è -12, il valore è diverso tra 31. Dicembre, 12:00 am e mezzanotte.

9

I metodi getUTC ...() restituiscono la data e l'ora nel fuso orario UTC, mentre le altre funzioni restituiscono la data e l'ora nel fuso orario locale del computer su cui è in esecuzione lo script.

A volte è conveniente avere la data e l'ora nel fuso orario locale, ea volte è conveniente avere la data e l'ora in un fuso orario indipendente dal fuso orario locale del computer.

Ci sono modi per convertire tra i fusi orari in JavaScript, ma sono ingombranti.

Quindi, credo sia solo per comodità.

1

Come il 31 dicembre va al 1 ° gennaio, questo accade in momenti diversi in diverse parti del mondo. Quindi, l'ora UTC sarà diversa da ad es. l'ora locale in Nuova Zelanda - così a un certo punto getFullYear() sarà diverso da getUTCFullYear() di 1.

3

Le funzioni si elencano in sostanza riferire il tempo in fusi orari diversi, in modo da avere un caso in cui getUTCFullYear() sarà diverso dal getFullYear() sarà la sera del 31 dicembre se vivrai ad ovest del meridiano di Greenwich.

Per esempio, in voi fuso orario locale il tempo potrebbe essere 9:00 ma in UTC potrebbe essere già 02:00 il 1 ° gennaio così:

var d = new Date(); 
d.getFullYear() == 2009 //True 
d.getUTCFullYear() == 2010 //True 

E 'confusa perché i metodi operano su un oggetto Date piuttosto che la segnalazione l'ora UTC corrente. Ma il metodo dice, se questo è il momento qui, che anno è nel fuso orario UTC. Quindi per 364,75 giorni degli anni riportati dai due metodi sarà lo stesso.

Problemi correlati