Функция isdatetime
на самом деле не проверяет, является ли что-то действительной датой, она только проверяет тип объекта, чтобы увидеть, является ли он datetime
объектом , Чтобы проверить, есть ли у вас действительный набор дат, вы можете попытаться создать из них datetime
объекты и использовать функцию isnat
, чтобы увидеть, возвращают ли они NaT
(т. Е. "Not-a- Время »), указывающий неверный / неопределенный формат даты. Вот пример:
>> C = {'2019-01-01'; ... % Cell array of date strings, last one invalid
'2019-02-01'; ...
'2019-03-01'; ...
'blah'};
>> D = datetime(C)
D =
4×1 datetime array
01-Jan-2019
01-Feb-2019
01-Mar-2019
NaT
>> isnat(D)
ans =
4×1 logical array
0
0
0
1 % Fourth entry failed conversion