Обнаружение экземпляра Date «недопустимой даты» в JavaScript ⇐ Javascript
Обнаружение экземпляра Date «недопустимой даты» в JavaScript
Я хотел бы объяснить разницу между действительными и недействительными объектами даты в JS, но не смог понять, как:
var d = новая дата("foo"); console.log(d.toString()); // показывает «Неверную дату» console.log(тип d); // показывает "объект" console.log(d экземпляр даты); // показывает «истину» Есть идеи по написанию функции isValidDate?
[*]Эш рекомендовал Date.parse для анализа строк даты, что дает надежный способ проверить правильность строки даты. [*]Я бы предпочел, если это возможно, чтобы мой API принимал экземпляр Date и имел возможность проверять/утверждать, действителен он или нет. Решение Боргара делает это, но мне нужно протестировать его в разных браузерах. Мне также интересно, есть ли более элегантный способ. [*]Эш заставил меня задуматься о том, чтобы мой API вообще не принимал экземпляры Date, это было бы проще всего проверить. [*]Боргар предложил протестировать экземпляр Date, а затем проверить значение времени Date. Если дата недействительна, значение времени — NaN. Я проверил с помощью ECMA-262, и такое поведение предусмотрено стандартом, а это именно то, что мне нужно.
Я хотел бы объяснить разницу между действительными и недействительными объектами даты в JS, но не смог понять, как:
var d = новая дата("foo"); console.log(d.toString()); // показывает «Неверную дату» console.log(тип d); // показывает "объект" console.log(d экземпляр даты); // показывает «истину» Есть идеи по написанию функции isValidDate?
[*]Эш рекомендовал Date.parse для анализа строк даты, что дает надежный способ проверить правильность строки даты. [*]Я бы предпочел, если это возможно, чтобы мой API принимал экземпляр Date и имел возможность проверять/утверждать, действителен он или нет. Решение Боргара делает это, но мне нужно протестировать его в разных браузерах. Мне также интересно, есть ли более элегантный способ. [*]Эш заставил меня задуматься о том, чтобы мой API вообще не принимал экземпляры Date, это было бы проще всего проверить. [*]Боргар предложил протестировать экземпляр Date, а затем проверить значение времени Date. Если дата недействительна, значение времени — NaN. Я проверил с помощью ECMA-262, и такое поведение предусмотрено стандартом, а это именно то, что мне нужно.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему Date() и Calendar.current.startOfDay(for: Date()) создают разные дни?
Anonymous » » в форуме IOS - 0 Ответы
- 52 Просмотры
-
Последнее сообщение Anonymous
-