Ho una stringa che rappresenta l'ora corrente: 2015-11-24T19:40:00
. Come analizzare questa stringa in Javascript per ottenere una data rappresentata da questa stringa come LOCAL TIME? A causa di alcune restrizioni, non posso usare la libreria moment
, ma jquery è permesso. So che qualcuno ha già fatto questa domanda, ma la risposta è stata utilizzata moment
Javascript: analizza una stringa in data come fuso orario LOCAL
Ad esempio, se eseguo lo script in California, questa stringa rappresenterebbe il tempo pacifico delle 7PM, ma se eseguo lo script in NY, questo la stringa rappresenterebbe il tempo orientale?
Ho provato quanto segue ma Chrome e Firefox darmi risultati diversi:
var str = "2015-11-24T19:40:00";
var date = new Date(str);
Chrome consuma come UTC tempo (Tue Nov 24 2015 11:40:00 GMT-0800 (Pacific Standard Time)
),
ma Firefox consuma come il mio locale PACIFIC time (Tue Nov 24 2015 19:40:00 GMT-0800 (Pacific Standard Time)
)
Ho provato ad aggiungere "Z" a str
, ad esempio var date = new Date(str+"Z");
, quindi entrambi i browser mi danno l'ora UTC. C'è una lettera simile a "Z"
che dice a tutti i browser (almeno Chrome, Firefox e Safari) di analizzare la stringa come fuso orario locale?
Ottima risposta !!! –
come una domanda a parte, 'new Date()' restituisce sempre un orario corrente locale? In caso contrario, come posso ottenere l'ora locale corrente? Almeno a me test lo fa per Chrome e Firefox. Fondamentalmente, ho bisogno di ottenere la differenza (in secondi) tra l'ora corrente e un dato tempo rappresentato dalla stringa, come '" 2015-11-24T19: 40: 00 "' – Simo
Come sopra, 'new Date()' restituisce un oggetto Date con il suo valore temporale impostato sull'ora UTC corrente e un offset in base alle impostazioni di sistema. Il modo in cui viene presentato è determinato dal metodo chiamato: [* toString *] (http://www.ecma-international.org/ecma-262/6.0/#sec-date.prototype.tostring), [* toISOString *] (http://www.ecma-international.org/ecma-262/6.0/#sec-date.prototype.toisostring), [* toUTCString *] (http://www.ecma-international.org/ecma-262 /6.0/#sec-date.prototype.toutcstring), [* aLocaleTimeString *] (http://www.ecma-international.org/ecma-262/6.0/#sec-date.prototype.tolocaletimestring) ecc. – RobG