先看下 datetime 的输出:
>> datetime
ans =
datetime
2022-12-16 11:09:16
然后利用字符串函数 string() 将 datetime 换一种格式输出:
>> string(datetime, 'yyyy-MM-dd-HH-mm-ss')
ans =
"2022-12-16-11-10-54"
比如我想将数据保存成 .mat 文件,并将当前时刻的日期时间添加到文件名,那么可以生成完整的文件名:
>> strcat("数据 ", string(datetime, 'yyyy-MM-dd-HH-mm-ss'), '.mat')
ans =
"数据 2022-12-16-11-12-41.mat"
注意:在官方文档中,有这样一句话
对于字符数组输入,
strcat
会删除尾随的 ASCII 空白字符:空格、制表符、垂直制表符、换行符、回车和换页符。对于元胞数组和字符串数组输入,strcat
不删除尾随空白。
因此,如果想要在字符后面保留空格,strcat() 的输入只能是字符串(带双引号的文本)而不能是字符向量(带单引号的文本),否则会变成:
>> strcat('数据 ', string(datetime, 'yyyy-MM-dd-HH-mm-ss'), '.mat')
ans =
"数据2022-12-16-11-12-41.mat"
有关 matlab 中的字符向量、字符数组、字符串标量、字符串数组,可参考matlab:字符向量、字符数组、字符串标量、字符串数组https://blog.csdn.net/weixin_42311193/article/details/128339472