4 votes

Date Javascript incorrecte dans Chrome et Firefox

J'obtiens des dates incorrectes dans Chrome...

Mon code ressemble à ceci..

Le titre contient "2013-06-14T00:00:00", il s'agit d'un DateTime en C# renvoyé par l'interface WebAPI.

Comme vous pouvez le voir ici sur les deux navigateurs.. enter image description here

Quand je l'ajoute à une nouvelle date javascript comme ceci.. var dt = new Date(title)

J'obtiens des dates différentes dans différents navigateurs... enter image description here

Exemple - http://jsfiddle.net/RvUSq/

14voto

Ye Liu Points 4474

On dirait que Firefox suppose que ce format de date sans fuseau horaire correspond à l'heure locale et que Chrome/Webkit suppose qu'il s'agit de l'heure UTC.

Si la date renvoyée par l'api est en UTC, ajoutez simplement un "Z" à la fin de la chaîne, de sorte qu'elle devienne "2013-06-14T00:00:00Z", ce qui indique que l'heure est en UTC, et vous obtiendrez le même résultat dans les deux navigateurs.

3voto

tracevipin Points 8987

Convertir l'horodatage en ISO 8601 chaîne formatée en C#, par exemple

var title = "14 JUN 2013 00:00:00" // printed from C#

Ensuite, utilisez Date Constructeur

var date = new Date(title);

Si vous ne spécifiez pas de fuseau horaire, le fuseau horaire local de la machine cliente sera défini à l'heure donnée. Si vous spécifiez le fuseau horaire, les calculs nécessaires seront effectués pour convertir la date en fuseau horaire local.

var title = "14 JUN 2013 00:00:00";
var date = new Date(title); // Fri Jun 14 2013 00:00:00 GMT+0530 (IST)

var title = "14 JUN 2013 00:00:00 GMT";
var date = new Date(title); // Fri Jun 14 2013 05:30:00 GMT+0530 (IST)

var title = "14 JUN 2013 00:00:00 GMT-0400";
var date = new Date(title); // Fri Jun 14 2013 09:30:00 GMT+0530 (IST)

réf : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X