You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中生成连续日期字符串(如'20160801'至'20161031')

嘿,这个需求在MATLAB里处理起来挺简单的,我给你两种实用的方法,适配不同版本的MATLAB:

方法一:使用datetime + string(推荐,MATLAB R2016b及以上)

这种是MATLAB较新版本里更现代、更灵活的日期处理方式:

% 定义起始和结束日期,指定输入格式为无分隔符的年月日
startDate = datetime('20160801', 'InputFormat', 'yyyyMMdd');
endDate = datetime('20161031', 'InputFormat', 'yyyyMMdd');

% 生成每天递增的连续日期序列
dateSeq = startDate:days(1):endDate;

% 将日期序列转换成你需要的字符串格式
dateStrs = string(dateSeq, 'yyyyMMdd');
  • 如果你需要字符数组而非string数组,只需要再加一句 dateStrs = char(dateStrs);
  • 要是想要单元格数组格式,用 dateStrs = cellstr(dateStrs); 就行
方法二:兼容旧版本的datenum + datestr

如果你的MATLAB版本比较老(比如R2016b之前),可以用传统的日期数值处理方式:

% 将起始和结束日期转换为MATLAB内部的日期数值
startNum = datenum('20160801', 'yyyymmdd');
endNum = datenum('20161031', 'yyyymmdd');

% 生成连续的日期数值序列
dateNums = startNum:1:endNum;

% 将日期数值转换成指定格式的字符串
dateStrs = datestr(dateNums, 'yyyymmdd');

这里要注意格式字符串是小写的yyyymmdd,这样输出的就是无分隔符的日期字符串;如果需要单元格数组,同样用cellstr(dateStrs)转换即可。

内容的提问来源于stack exchange,提问作者bahram khazaei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:52:10