Вычтите месяцы с указанной даты в Matlab

Мне нужно вычесть 21 месяц от указанной даты.

Мое решение, приведенное ниже, переносит меня только на первый месяц данного года:(

[a,b,c]= datevec(date);
b= b-21;
datestr(datenum(a,b,c)) %--> 11-Jan-2011 (WRONG).

Я хочу, чтобы ответ был 11 июня 2009 года.

1 ответ

Решение

Перейдите по номерам даты, а не по векторам даты и используйте addtodate:

>> d = datenum(date);
>> e = addtodate(d, -21, 'month');
>> datestr(e)

ans =

11-Jun-2009
Другие вопросы по тегам