J'ai quelques tests pour une application Angular 2 qui passe quand elle est exécutée dans Firefox mais échoue dans PhantomJS. Dans le test, je vérifie qu'une date est correctement définie. Je nourris dans une chaîne de date iso locale sous la forme "2017-07-20T14: 20". La partie date est définie correctement mais l'heure est désactivée. J'exécute le test dans la zone horaire de Mountain Time (-6: 00 UTC), donc le temps passe à 08:20. Y a-t-il une cale ou une configuration que je pourrais manquer?PhantomJS ISO locale Date off
Voici un code:
Dans mon fichier de classe customDate
public startTime: string;
public setDate(date: string) {
let date:Date = new Date(date);
this.startTime = date.getHours() + ':';
if (date.getMinutes() < 10) {
this.startTime += date.getMinutes() + '0';
} else {
this.startTime += date.getMinues();
}
}
Dans mon fichier de test
it('should pass') {
let testDate = new customDate();
testDate.setDate('2017-07-20T14:20');
expect(testDate.startTime).toBe('14:00'); <-- this is failing it's comeing through as ('8:00')
}
Je pense que l'heure à laquelle vous entrez est UTC sauf si vous utilisez un [décalage horaire] (https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) – 0mpurdy