在Matlab 2016a中,我有一个周数的向量:
weekNum = [20 21 22 23];
Run Code Online (Sandbox Code Playgroud)
有没有办法在周日从周日开始将周数转换为2018年的各自日期?
你可以使用函数days和weekday.从一年的第一天开始,您可以减去天数以查找上一个星期日(如果它不是星期天),然后将您的向量乘以weekNum7,为每个所需的星期添加到该日期的偏移量:
weekNum = [20 21 22 23];
t = datetime(2018, 1, 1, 'Format', 'dd-MMMM-yyyy'); % First day of the year
t = t - days(weekday(t)-1) + days((weekNum-1).*7);
Run Code Online (Sandbox Code Playgroud)
这将为您提供以下星期日日期时间数组:
t =
1×4 datetime array
13-May-2018 20-May-2018 27-May-2018 03-June-2018
Run Code Online (Sandbox Code Playgroud)
你可以使用week以下方法确认它有效:
>> week(t)
ans =
20 21 22 23 % Same as weekNum
Run Code Online (Sandbox Code Playgroud)
注意:第一周通常定义为包括1月1日的一周,并且可以包括上一年的天数.这意味着您可以在2017年的第1周的星期日结束日期.
| 归档时间: |
|
| 查看次数: |
531 次 |
| 最近记录: |