MATLAB 基础知识 数据类型 日期和时间 提取或分配日期时间数组的日期和时间分量

本文演示了从现有日期时间数组中提取日期和时间分量的两种方法:访问数组属性或调用函数。然后,再演示了如何通过修改数组属性来修改日期和时间分量。

访问属性以检索日期和时间分量

创建一个 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 日。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

结冰架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值