访问属性以检索日期和时间分量
创建一个 datetime 数组。
t = datetime('now') + calyears(0:2) + calmonths(0:2) + hours(20:20:60)
t = 1x3 datetime
04-Aug-2020 16:40:12 05-Sep-2021 12:40:12 06-Oct-2022 08:40:12
获取数组中每个日期时间的年份值。使用圆点表示法访问 t 的 Year 属性。
t_years = t.Year
t_years = 1×3
2020 2021 2022
输出 t_years 是一个数值数组。
通过访问 Month 属性获取 t 中每个日期时间的月份值。
t_months = t.Month
t_months = 1×3
8 9 10
您可以通过分别访问 Hour、Minute 和 Second 属性,检索 t 中每个日期时间的日、时、分和秒分量。
使用函数检索日期和时间分量
使用 month 函数获取 t 中每个日期时间的月份数字。使用函数是检索 t 的特定日期或时间分量的替代方法。
m = month(t)
m = 1×3
8 9 10
使用 month 函数而非 Month 属性获取 t 中每个日期时间的完整月份名称。
m = month(t,'name')
m = 1x3 cell
{'August'} {'September'} {'October'}
您可以通过分别使用 year、quarter、week、hour、minute 和 second 函数,检索 t 中每个日期时间的年、季、周、日、时、分和秒分量。
获取 t 中每个日期时间属于一年中第几周这一数字。
w = week(t)
w = 1×3
32 37 41
获取多个日期和时间分量
使用 ymd 函数获取 t 的年份、月份和日期值,并作为三个单独的数值数组。
[y,m,d] = ymd(t)
y = 1×3
2020 2021 2022
m = 1×3
8 9 10
d = 1×3
4 5 6
使用 hms 函数获取 t 的小时、分钟和秒值,并作为三个单独的数值数组。
[h,m,s] = hms(t)
h = 1×3
16 12 8
m = 1×3
40 40 40
s = 1×3
12.8062 12.8062 12.8062
修改日期和时间分量
通过修改某个现有 datetime 数组的属性,将新值赋给该数组中的分量。使用圆点表示法访问特定属性。
将 t 中所有日期时间值的年份数字更改为 2014。使用圆点表示法修改 Year 属性。
t.Year = 2014
t = 1x3 datetime
04-Aug-2014 16:40:12 05-Sep-2014 12:40:12 06-Oct-2014 08:40:12
将 t 中三个日期时间值的月份分别更改为 1 月、2 月和 3 月。您必须将新的值指定为数值数组。
t.Month = [1,2,3]
t = 1x3 datetime
04-Jan-2014 16:40:12 05-Feb-2014 12:40:12 06-Mar-2014 08:40:12
通过为 TimeZone 属性赋值来设置 t 的时区。
t.TimeZone = 'Europe/Berlin';
更改 t 的显示格式,只显示日期而不显示时间信息。
t.Format = 'dd-MMM-yyyy'
t = 1x3 datetime
04-Jan-2014 05-Feb-2014 06-Mar-2014
如果您为日期时间分量分配的值超出常规范围,则 MATLAB® 会对分量进行归一化。一个月中日期数字的常规范围是 1 到 31。指定一个超出该范围的日期值。
t.Day = [-1 1 32]
t = 1x3 datetime
30-Dec-2013 01-Feb-2014 01-Apr-2014
月份和年份数字进行了调整,从而使所有值保持在每个日期分量的常规范围之内。在本例中,2014 年 1 月 -1 日转换为 2013 年 12 月 30 日。