我在MATLAB中以字符串形式给出了当前日期。例如,如果今天是'20180703'
,则我需要7个包含以下内容的字符串:
'20180702'
'20180701'
'20180630'
'20180629'
'20180628'
'20180627'
'20180626'
答案 0 :(得分:2)
简单:
t = datetime('20180703', 'InputFormat', 'yyyyMMdd')
t = t - days(1:7)
datestr(t, 'yyyymmdd')
编辑。
正如 excaza 所指出的,datetime
和datestr
使用不同的输入格式。因此,第一个函数中的'MM'
,第二个函数中的'mm'
。
答案 1 :(得分:0)
我会选择类似的东西:
lastSevenDays = arrayfun(@(offset) datestr(now-offset, 'yyyymmdd'), 1:7, 'UniformOutput', false)
或更晚:
datestr(now - days(1:7), 'yyyymmdd')