来源:https://ww2.mathworks.cn/help/matlab/ref/datestr.html?searchHighlight=datestr&s_tid=doc_srchtitle
语法
说明
datestr 函数创建一个字符数组,用来显示一个或多个时间点。但是,表示时间点的最佳方式是使用 datetime 数据类型。
datetime 值表示为文本。
datestr 函数返回包含 m 行的字符数组,其中 m 是 t 中的日期时间值的总数。默认情况下,datestr 以 day-month-year hour:minute:second 格式返回文本。如果 hour:minute:second 是 00:00:00,则返回的文本的格式为 day-month-year。
DateVector 中的日期向量的总数。
DateNumber 中的日期值的总数。
formatOut 与上述语法中的任何输入参数结合使用。
DateStringIn 表示的所有日期和时间必须具有相同的格式。
PivotYear 解释以双字符形式指定年份的文本。
'local' 参数必须排在参数序列的最后。
示例
将日期时间数组转换为日期字符串
t = [datetime('now');datetime('tomorrow')]
t = 2x1 datetime array
03-Feb-2019 10:13:35
04-Feb-2019 00:00:00
DateString = datestr(t)
DateString = 2x20 char array
'03-Feb-2019 10:13:35'
'04-Feb-2019 00:00:00'
datestr 返回表示日期和时间的文本,其格式为 day-month-year hour:minute:second。
将日期向量转换为文本
DateVector = [2009,4,2,11,7,18];
datestr(DateVector)
ans = '02-Apr-2009 11:07:18'
datestr 以默认格式返回表示日期和时间的文本。
将日期和时间转换为特定格式
以 mm/dd/yy 格式设置当前日期的格式。
可以使用符号标识符指定此格式。
formatOut = 'mm/dd/yy';
datestr(now,formatOut)
ans = '02/03/19'
您也可以使用数值标识符指定此格式。
formatOut = 2;
datestr(now,formatOut)
ans = '02/03/19'
可以重新设置日期和时间的格式,也可以显示毫秒。
dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM')
dt = 'February 03, 2019 10:13:12.086 AM'
将 12 小时制时间字符串转换为等效的 24 小时制形式
将 12 小时制时间 05:32 p.m. 转换为其等效的 24 小时制形式。
datestr('05:32 PM','HH:MM')
ans = '17:32'
将 24 小时制时间 05:32 转换为其等效的 12 小时制形式。
datestr('05:32','HH:MM PM')
ans = ' 5:32 AM'
在 formatOut 输出文本中使用 AM 或 PM 不影响会实际成为文本的一部分的字符;它们只确定是否包括这些字符。MATLAB® 基于输入的时间选择 AM 或 PM。
从自定义格式转换日期字符串
在 datestr 内调用 datenum 以指定表示日期的输入文本的格式。
formatOut = 'dd mmm yyyy';
datestr(datenum('16-04-55','dd-mm-yy',1900),formatOut)
ans = '16 Apr 1955'
转换多个日期字符串
以元胞数组传递多个表示日期的字符向量来进行转换。
所有输入日期必须使用相同的格式。例如,以下命令便传递了三个全部使用 mm/dd/yyyy 格式的日期。
datestr(datenum({'09/16/2007';'05/14/1996';'11/29/2010'}, ...
'mm/dd/yyyy'))
ans = 3x11 char array
'16-Sep-2007'
'14-May-1996'
'29-Nov-2010'
datestr 以 day-month-year 格式返回由转换后的日期构成的一个字符数组。
使用不在正常范围内的值转换日期字符串
在 datestr 内调用 datenum,为下面不在正常范围内的日期 (month=13) 返回预期值。
datestr(datenum('13/24/88','mm/dd/yy'))
ans = '24-Jan-1989'
使用基准年份
更改基准年份以更改年份范围。
使用 1900 作为基准年份。
DateStringIn = '4/16/55';
formatOut = 1;
PivotYear = 1900;
datestr(DateStringIn,formatOut,PivotYear)
ans = '16-Apr-1955'
对于同一日期,使用基准年份 2000。
PivotYear = 2000;
datestr(DateStringIn,formatOut,PivotYear)
ans = '16-Apr-2055'
以本地语言返回日期字符串
以当前区域设置的语言将日期值转换为文本。
在法语区域设置中使用 'local' 参数。
DateNumber = 725935;
formatOut = 'mmmm-dd-yyyy';
str = datestr(DateNumber,formatOut,'local')
str = Juillet-17-1987
在不指定 'local' 的条件下执行同一调用。
str = datestr(DateNumber,formatOut)
str = July-17-1987
在本例中,输出默认为英语语言。
输入参数
输出参数
提示
-
要转换未采用预定义的 MATLAB® 日期格式的文本,需先用
datenum或datevec函数将文本转换为日期值。