Проблема конструктора дат в IE: NaN и функциональность в других браузерах
В рамках проекта, связанного с разработкой календаря на JavaScript, возникли расхождения в обработке дат между Internet Explorer (IE) и браузеры, такие как Firefox и Chrome. В частности, функции даты в IE приводили к значениям NaN (не числа), хотя в других браузерах они работали правильно.
После расследования стало ясно, что основная причина была связана с используемым форматом даты. Рассматриваемая функция buildWeek() предназначена для генерации дат заголовка календарной недели на основе даты понедельника, указанной в формате «m, d, Y», например «02, 01, 2010». Однако в IE этот формат не распознавался правильно, что приводило к проблеме NaN.
Чтобы устранить это несоответствие, был принят другой подход. Вместо того, чтобы полагаться на заданный формат, строка даты была разделена на компоненты (дата и время) с помощью метода Split(" "). Впоследствии компонент даты был дополнительно разделен на составные части (год, месяц, день) с помощью метода Split("-"), а компонент времени был разделен на части (часы, минуты, секунды) с помощью метода Split(":"). .
Затем был создан экземпляр Date с использованием этих проанализированных значений. Этот метод оказался совместимым со всеми браузерами, обеспечивая единообразную обработку дат в IE, Firefox и Chrome.
var dateStr = "2011-08-03 09:15:11"; //returned from mysql timestamp/datetime field var a = dateStr.split(" "); var d = a[0].split("-"); var t = a[1].split(":"); var date = new Date(d[0], (d[1] - 1), d[2], t[0], t[1], t[2]);
Приняв это подходе ошибки NaN в IE были успешно устранены, что позволило обеспечить единообразную обработку дат в разных браузерах.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3