«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему конструктор даты IE отличается от обработки дат Chrome и Firefox?

Почему конструктор даты IE отличается от обработки дат Chrome и Firefox?

Опубликовано 8 ноября 2024 г.
Просматривать:560

Why Does IE Date Constructor Differ from Chrome and Firefox Date Handling?

Проблема конструктора дат в 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 были успешно устранены, что позволило обеспечить единообразную обработку дат в разных браузерах.

Заявление о выпуске Эта статья воспроизведена: 1729402457 Если есть какие -либо нарушения, пожалуйста, свяжитесь с учебным заведением[email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3