Credo che la differenza sia causata da Date.parse
che aggiunge UTC a una stringa ma non l'altra, vale a dire: /
non è un separatore legale in Date.parse() che significa che UTC non viene aggiunto all'ora una volta che è analizzato. Poiché '
è un separatore legale, viene analizzato e quindi UTC viene aggiunto al tempo restituito.
Date.parse
viene utilizzato dal metodo new Date()
e la sua implementazione è specifica per il browser, sono sorpreso che questo genere di cose non si presentino più spesso.
La specifica per Date.parse
dice:
la stringa può essere interpretata come un'ora locale, un tempo UTC, o un tempo in qualche altro fuso orario, a seconda del contenuto della stringa. La funzione tenta innanzitutto di analizzare il formato della stringa in base alle regole richiamate in Formato stringa data e ora (15.9.1.15). Se la stringa non è conforme a tale formato, la funzione può ricorrere a qualsiasi euristica specifica dell'implementazione o formati di data specifici dell'implementazione.
Quindi suggerirei sia l'aggiunta di un fuso orario manualmente prima si analizza, o scartare il tempo restituito da new Date()
, tuttavia, che potrebbe portare a problemi intorno a mezzanotte, ecc La cosa più sicura sarebbe quella di vedere se è possibile ottenere la data in un formato più specifico da entrambi i sistemi, con informazioni sul fuso orario.
Il mio sta aggiungendo 2 e io sono GMT + 2 – JNF
Sembra che aggiunga il GMT all'ora – JNF
Qual è il tuo obiettivo finale? Cosa stai cercando di ottenere con quanto sopra? – Piskvor