从给定日期减去月份

时间:2011-11-15 23:49:16

标签: matlab date bsxfun date-math

我需要从矩阵中的给定DateCol中减去几个月。我使用命令bsxfun(@minus, datevec(date),[0,3,0,0,0,0])从给定日期减去3个月。您可以看到此代码中存在错误。如果日期是2011年2月1日,则此代码将带您到2011年1月1日而不是2010年11月1日。

mat = [100 734505; 200 734536; 200 734539]; %Col1是ID,Col2是Date

你能建议一种矢量化方法吗?对于单日期(矩阵之外),addtodate(d, -3, 'month')完全正常工作!

1 个答案:

答案 0 :(得分:1)

怎么样?

newDateVector = arrayfun(@(x) addtodate(x, -3, 'month'), oldDateVector)