如何将数字日期矢量转换为文本日期矢量?



>我有一个数字向量,对应于以下格式的日期yyyymmdd,即2010年12月24日它是20101224。如何将其转换为文本格式,即以下格式"mm-dd-yyyy"?

你真的应该使用datetime而不是转换为字符串,

dates = datetime(20100124,'ConvertFrom','yyyymmdd')

第一个输入可以是数字向量,假设它是 yyyymmdd 格式。

如果随后要指定显示格式,

dates.Format = 'MM-dd-yyyy'

如果你真的需要它们作为字符串,你可以使用,

dates = datestr(dates)

Matlab 有一个可能有用的datestr命令。 用法示例:

formatOut = 'mm-dd-yyyy';
datestr(now,formatOut)

对于您的日期,您可以将输入数字转换为字符串,将字符串转换为日期并使用新格式创建日期字符串。

formatIn = 'yyyymmdd';
formatOut = 'mm-dd-yyyy';
inStr = num2str(20101224);    % Skip this step if already a number
outStr = datestr(datenum(inStr, formatIn), formatOut)

最新更新