Qual è il modo migliore in JavaScript per impostare la parte di data di un oggetto di data JavaScript senza influire sulla porzione di tempo?Aggiornamento della parte di data di un oggetto javascript senza modificare la porzione di tempo
Diciamo che avere una data come questo Wed Oct 31 2012 10:15:00 GMT-0400 (EDT)
E si desidera aggiornare per essere 1 novembre senza cambiare il tempo.
A prima vista, si potrebbe pensare che questo dovrebbe funzionare,
exampledate.setFullYear(2012);
exampledate.setMonth(10);
exampledate.setDate(1);
ma il risultato è Sat Dec 01 2012 10:15:00 GMT-0500 (EST)
Penso ragione di questo è che Ottobre è 31 giorni e novembre ha solo 30. Dal momento che questo ovviamente non funziona sempre. Quali sono le mie altre opzioni? Dovrò creare un nuovo oggetto data?
Stai parlando della conversione da EDT a EST? In tal caso, tieni presente che il 4 novembre alle 2:00, i paesi che utilizzano EDT passano a EST mentre ricevono magicamente un'ora aggiuntiva. –
Inoltre, dovresti chiamare 'setMonth' su 11 e non su 10? Vedo la data finale come dicembre. –
Questo è il problema. Poiché la data originale era il 31/10/2012 e sto impostando la data per l'31/11/2012, che non è una data reale, la seconda riga sta cambiando la data fino al 1 dicembre. La linea finale non sta facendo nulla. – plusplusben