matlab对日期时间数据的处理-----datestr篇
datestr: 将日期和时间转换为字符串格式
语法格式
DateString = datestr(t)
DateString = datestr(t) 将输入数组 t 中的日期时间值转换为表示日期和时间的文本,也可以使用 char、cellstr 或 string 函数将 datetime 值表示为文本。datestr 函数返回包含 m 行的字符数组,其中 m 是 t 中的日期时间值的总数。默认情况下,datestr 以 day-month-year hour:minute:second 格式返回文本。如果 hour:minute:second 是 00:00:00,则返回的文本的格式为 day-month-year。
t = [datetime('now');datetime('tomorrow')]
DateString = datestr(t)
datestr 返回表示日期和时间的文本,其格式为 day-month-year hour:minute:second。
DateString = datestr(DateVector)
DateString = datestr(DateVector) 将日期向量转换为表示日期和时间的文本。datestr 函数返回包含 m 行的字符数组,其中 m 是 DateVector 中的日期向量的总数。
DateVector = [2019,8,18,21,43,11];
datestr(DateVector)
DateString = datestr(DateNumber)
DateString= datestr(DateNumber) 将日期序列值转换为表示日期和时间的文本。datestr 函数返回包含m 行的字符数组,其中m 是DateNumber 中的日期值的总数。
DateNumber = 725935;
formatOut = 'mmmm-dd-yyyy';
str = datestr(DateNumber,formatOut,'local')
在不指定'local' 的条件下执行同一调用。
str = datestr(DateNumber,formatOut)
DateString = datestr(___,formatOut)
DateString= datestr(___,formatOut)使用 formatOut 指定输出文本的格式。您可以将 formatOut 与上述语法中的任何输入参数结合使用。
以mm/dd/yy 格式设置当前日期的格式。
可以使用符号标识符指定此格式。
formatOut = 'mm/dd/yy';
datestr(now,formatOut)
也可以使用数值标识符指定此格式。
formatOut = 2;
datestr(now,formatOut)
可以重新设置日期和时间的格式,也可以显示毫秒。
dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM')
DateString = datestr(DateStringIn)
DateString= datestr(DateStringIn)将 DateStringIn 转换为 day-month-year hour:minute:second 格式的文本。以 DateStringIn 表示的所有日期和时间必须具有相同的格式。
DateString = datestr(DateStringIn,formatOut,PivotYear)
DateString= datestr(DateStringIn,formatOut,PivotYear)以 formatOut 指定的格式将 DateStringIn 转换为 DateString,并使用可选的 PivotYear 解释以双字符形式指定年份的文本。
更改基准年份以更改年份范围。
使用 1900 作为基准年份。
DateStringIn = '4/16/55';
formatOut = 1;
PivotYear = 1900;
datestr(DateStringIn,formatOut,PivotYear)
对于同一日期,使用基准年份 2000。
PivotYear = 2000;
datestr(DateStringIn,formatOut,PivotYear)
DateString = datestr(___,'local')
DateString= datestr(___,'local') 返回以当前区域设置的语言表示的日期。此语言是您通过计算机的操作系统选择的语言。如果参数列表中不包括'local',则datestr 以默认语言(美国英语)返回文本。'local' 可与上述的任何语法结合使用。'local' 参数必须排在参数序列的最后。
以当前区域设置的语言将日期值转换为文本。
在法语区域设置中使用'local' 参数。
DateNumber = 725935;
formatOut = 'mmmm-dd-yyyy';
str = datestr(DateNumber,formatOut,'local')
在不指定'local' 的条件下执行同一调用。
str = datestr(DateNumber,formatOut)
formatOut - 表示日期和时间的输出的格式
表示日期和时间的输出的格式,指定为由符号标识符组成的字符向量或字符串标量,或者与预定义的格式对应的整数。如果不指定 formatOut,datestr 将返回具有默认格式 dd-mmm-yyyy HH:MM:SS (day-month-year hour:minute:second) 的文本。默认情况下,如果 HH:MM:SS = 00:00:00,则返回的文本的格式为 dd-mmm-yyyy。
下表显示了可用于构造 formatOut 字符向量的符号标识符。可以使用连字符、空格或冒号等字符来分隔字段。
符号标识符
说明
示例
yyyy
完整年份
1990, 2002
yy
两位数年份
90, 02
使用字母 Q 和一个数字的季度年份
Q1
mmmm
使用全名的月份
March, December
mmm
使用前三个字母的月份
Mar, Dec
mm
两位数月份
03, 12
m
使用大写首字母表示月份
M, D
dddd
使用全名的日期
Monday, Tuesday
ddd
使用前三个字母的日期
Mon, Tue
dd
两位数日期
05, 20
d
使用大写首字母表示日期
M, T
HH
两位数小时(使用符号标识符 AM 或 PM 时无前导零)
05, 5 AM
MM
两位数分钟
12, 02
SS
两位数秒
07, 59
FFF
三位数毫秒
57
AM or PM
在表示时间的文本中插入的 AM 或 PM
3:45:02 PM
formatOut字符向量必须遵循以下原则:
每个字段只能指定一次。例如,不能使用 'yy-mmm-dd-m',因为它有两个月份标识符。一种例外情况是,可以将一个 dd 实例与其他日期标识符的任何一个实例结合使用。例如,'dddd mmm dd yyyy' 是有效输入。
当您使用 AM 或 PM 时,还需要提供 HH 字段。
QQ只能单独使用或与年份设定符一起使用。
下表列出了可与 datestr 一起使用的预定义日期格式。
序号
显示格式
举例
0
‘dd-mmm-yyyy HH:MM:SS‘
'16-Aug-2019 11:42:46'
1
‘dd-mmm-yyyy‘
'16-Aug-2019'
2
‘mm/dd/yy‘
'08/16/19'
3
‘mmm‘
'Aug'
4
‘m‘
'A'
5
‘mm‘
'08'
6
‘mm/dd‘
'08/16'
7
‘dd‘
'16'
8
‘ddd‘
'Fri'
9
‘d‘
'F'
10
‘yyyy‘
'2019'
11
‘yy‘
'19'
12
‘mmmyy‘
'Aug19'
13
‘HH:MM:SS‘
'17:26:36'
14
‘HH:MM:SS PM‘
' 5:26:55 PM'
15
‘HH:MM‘
'17:27'
16
‘HH:MM PM‘
' 5:27 PM'
17
‘QQ-YY‘
'Q3-19'
18
‘QQ‘
'Q3'
19
‘dd/mm‘
'16/08'
20
‘dd/mm/yy‘
'16/08/19'
21
‘mmm.dd,yyyy HH:MM:SS‘
'Aug.16,2019 17:36:18'
22
‘mmm.dd,yyyy‘
'Aug.16,2019'
23
‘mm/dd/yyyy‘
'08/16/2019'
24
‘dd/mm/yyyy‘
'16/08/2019'
25
‘yy/mm/dd‘
'19/08/16'
26
‘yyyy/mm/dd‘
'2019/08/16'
27
‘QQ-YYYY‘
'Q3-2019'
28
‘mmmyyyy‘
'Aug2019'
29
(ISO 8601) ‘yyyy-mm-dd‘
'2019-08-16'
30
(ISO 8601) ‘yyyymmddTHHMMSS‘
20190816T174016'
31
‘yyyy-mm-dd HH:MM:SS‘
'2019-08-16 17:40:28'
DateStringIn-要转换的表示日期和时间的文本
要转换的表示日期和时间的文本,指定为单个字符向量、字符向量元胞数组或字符串数组,其中每一行对应一个日期和时间。
datestr将双字符年份(例如 '79')视为处于以当前年份为中心的 100 年范围内。
表示日期和时间的所有文本的日期格式必须相同,并且它们必须为下列日期格式之一。
表示日期和时间的文本的格式
示例
'dd-mmm-yyyy HH:MM:SS'
2000/3/1 15:45
'dd-mmm-yyyy'
1-Mar-00
'mm/dd/yyyy'
03/01/2000
'mm/dd/yy'
03/01/00
'mm/dd'
3月1日
'mmm.dd,yyyy HH:MM:SS'
Mar.01,2000 15:45:17
'mmm.dd,yyyy'
Mar.01,2000
'yyyy-mm-dd HH:MM:SS'
2000/3/1 15:45
'yyyy-mm-dd'
2000/3/1
'yyyy/mm/dd'
2000/3/1
'HH:MM:SS'
15:45:17
'HH:MM:SS PM'
3:45:17 PM
'HH:MM'
15:45
'HH:MM PM'
3:45 PM