获取两个日期之间的所有日期

时间:2014-04-15 15:41:45

标签: matlab

我有这两个限制日,比如

2004-01-01
2008-12-09

现在我想要它们之间的所有日期 喜欢

2004-01-02
2004-01-03
........
2008-12-08
2008-12-09

我怎样才能在matlab中做到这一点?

2 个答案:

答案 0 :(得分:2)

用于创建数组的this答案:

start_date = datenum(2004,1,1);                                   
end_date = datenum(2008,12,9);                                     
interval = datenum(2004,1,2)-start_date ;% 1 day interval
date_range = [start_date:interval:end_date] ; 

以可读(UTC)格式打印(将序列日期编号转换回日期):

datestr(date_range);

以下是一些输出数据:

>> ans(1:365:end,:)

ans =

01-Jan-2004
31-Dec-2004
31-Dec-2005
31-Dec-2006
31-Dec-2007

答案 1 :(得分:2)

使用datestrdatenum -

的组合
date1 = '2004-01-01'
date2 = '2008-12-09'
out = datestr(datenum(date1)+1:datenum(date2),'yyyy-mm-dd')

输出 -

out =

2004-01-02
2004-01-03
2004-01-04
2004-01-05
..
2008-12-07
2008-12-08
2008-12-09