Как я могу определить, содержит ли вектор даты в MATLAB? - PullRequest
1 голос
/ 14 мая 2019

Можете ли вы определить, содержит ли вектор даты?

У моего вектора есть даты в формате 'гггг-мм-дд'.

Я видел функцию isdatetime, но у меня она не работает. Я думаю, это потому, что вектор полон дат, а не дат.

1 Ответ

4 голосов
/ 14 мая 2019

Функция 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...