L'unico formato che è necessario analizzare Date.parse
è una semplificazione di ISO 8601. È possibile leggere ulteriori dettagli sul formato esatto nello ecma specification.
Qualsiasi altro formato che Date.parse
riconosce come data specifica dell'implementazione. Il formato che hai citato non fa parte dello standard sopra riportato, quindi ogni implementazione può dare qualsiasi risultato per quello che desidera.
Accade così che quando passi in un giorno del mese superiore a 31, il parser considererà una stringa non valida, quindi restituirà NaN
. Controllare per vedere se la data è valida è molto più difficile a causa di vari problemi con le irregolarità del mese, gli anni bisestili, i secondi mancanti, i fusi orari, ecc. Quindi non è garantito l'inserimento di tutta questa logica nel parser. Con la data apparentemente valida, viene convertita in un timestamp e restituita da Date.parse
ea quel punto il nuovo Date() ha qualcosa su cui lavorare.
La conclusione è che l'utilizzo di formati non standard con Date.parse
non è affidabile e, se possibile, dovrebbe essere evitato.
@Qantas 94 Pesante: grazie per la modifica. ;-) –
Va tutto bene - non c'è bisogno di ringraziarmi;) –