Я хочу, чтобы синтаксический анализ строки даты в формате ISO. Иногда это иногда работает.Javascript конвертировать строку в ISO Дата
//17.08.2016 00:23:51 doesent work
//01.08.2016 00:05:32 work
var ParsedData = "COPY FROM ABOVE";
console.log("#####Start Date converstion########");
console.log("BEFORE Parsed Date: -" + ParsedData + "-");
tempdate = new Date(ParsedData);
console.log("AFTER Parsed Date: " + tempdate);
tempdate = tempdate.toISOString();
console.log("ISO Parsed Date: " + tempdate);
} catch (e) {
console.log(e);
if (e instanceof TypeError) {
//console.log(e);
}
else if(e instanceof RangeError) {
tempdate = ParsedDate
}
else {
console.log("Error not catched: " + e);
}
}
console.log("Parsed Date: " + tempdate);
console.log("#####END Date converstion########");
Производит:
Даты начала converstionПЕРЕД разобранной Дата: 17.08.2016 00:23:51 ПОСЛЕ разобранной Даты: Неверная дата разобранной Дата: 17.08.2016 00:23:51
END Дата converstion Дата начала converstionДО Успешно разобран Дата: 01.08.2016 00:19:02 ПОСЛЕ Успешно разобран Дата: Пт янв 08 2016 00:19:02 GMT + 0100 (CET) ISO Parsed Дата: 2016-01-07T23: 19: 02.000Z Успешно разобран Дата: 2016-01-07T23: 19: 02.000Z
END Дата converstionЯ не знаю, почему. Надеюсь, кто-нибудь скажет мне, почему.
С уважением
[ 'Date.parse'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/parse) Не рекомендуется использовать Date.parse, так как до ES5 разбор строк был полностью зависимым от реализации. Есть все еще много различий в том, как разные узлы анализируют строки даты, поэтому строки даты должны быть вручную проанализированы (библиотека может помочь, если нужно разместить много разных форматов). – Xotic750