帮助中心帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
推移日期或生成日期与时间序列
t2 = dateshift(t,'start',unit)
t2 = dateshift(t,'end',unit)
t2 = dateshift(t,'dayofweek',dow)
t2 = dateshift(t,'dayofweek','weekend')
t2 = dateshift(t,'dayofweek','weekday')
t2 = dateshift(___,rule)
示例
t2 = dateshift(t,'start',unit) 将 datetime 数组 t 中的每个值移回 unit 指定的时间单位的开头。输出 t2 的大小与 t 相同。
t
unit
datetime
t2
例如,如果将 2021 年 6 月 27 日上午 9:14 推移到小时的开始,则推移后的值是 2021 年 6 月 27 日上午 9:00。如果您将其推移到月初,则推移后的值是 2021 年 6 月 1 日上午 12:00。
t2 = dateshift(t,'end',unit) 将值前移到 unit 指定的时间单位的末尾。
天、小时、分钟或秒的结束也是下一个天、小时、分钟或秒的开始。例如,如果将 2021 年 6 月 27 日上午 9:14 推移到小时的结束,则推移后的值是 2021 年 6 月 27 日上午 10:00。
年、季度、月或周的结束是该年、季度、月或周的最后一天开始的午夜。例如,如果将 2021 年 6 月 27 日上午 9:14 推移到月底,则推移后的值是 2021 年 6 月 30 日上午 12:00。
t2 = dateshift(t,'dayofweek',dow) 推移到指定的星期几,该日期出现在数组 t 中的每个 datetime 值的当天或之后。如果 t 中的日期已是指定的星期几,则 dateshift 返回同一日期。
dow
dateshift
t2 = dateshift(t,'dayofweek','weekend') 推移到周末(周六或周日),该日期出现在数组 t 中的每个 datetime 值的当天或之后。
t2 = dateshift(t,'dayofweek','weekday') 推移到工作日(周一至周五),该日期出现在数组 t 中的每个 datetime 值的当天或之后。
t2 = dateshift(___,rule) 根据 rule 指定的模式推移数组 t 中的每个值。您可以将此语法与上述语法中的任何参数一起使用。
rule
全部折叠
使用当前日期创建 datetime 值。
t = datetime('today')
t = datetime 19-Aug-2023
将日期推移到年初。
t2 = dateshift(t,'start','year')
t2 = datetime 01-Jan-2023
将日期推移到同一月末。
t2 = dateshift(t,'end','month')
t2 = datetime 31-Aug-2023
创建一个 datetime 值。
将日期推移到下个月初。
t2 = dateshift(t,'start','month','next')
t2 = datetime 01-Sep-2023
将日期推移到下个月末。
t3 = dateshift(t,'end','month','next')
t3 = datetime 30-Sep-2023
创建一个 datetime 数组。将其格式化以显示星期几和日期。
将日期数组向前推移到下周五。
t = [datetime(2014,08,03) datetime(2014,04,15)]; t.Format = 'eeee, dd MMM yyyy'
t = 1x2 datetime Sunday, 03 Aug 2014 Tuesday, 15 Apr 2014
将日期向前推移到下周五。
t2 = dateshift(t,'dayofweek','Friday')
t2 = 1x2 datetime Friday, 08 Aug 2014 Friday, 18 Apr 2014
将日期向后推移到上一个周一。
t3 = dateshift(t,'dayofweek','Monday','previous')
t3 = 1x2 datetime Monday, 28 Jul 2014 Monday, 14 Apr 2014
t = [datetime(2021,5,30) datetime(2021,6,4)]; t.Format = 'eeee, dd MMM yyyy'
t = 1x2 datetime Sunday, 30 May 2021 Friday, 04 Jun 2021
推移到出现在 t 中的每个值当天或之后的第一个周末。由于星期日已是周末,因此不推移第一个 datetime 值。但第二个值从周五推移到周六。
t2 = 1x2 datetime Sunday, 30 May 2021 Saturday, 05 Jun 2021
推移到出现在 t 中的每个值当天或之后的第一个工作日。周日推移到周一。但是,由于周五已是工作日,因此不推移第二个 datetime 值。
t2 = 1x2 datetime Monday, 31 May 2021 Friday, 04 Jun 2021
求出从今天开始落在第五周的周末的日期。
t = datetime('today'); t.Format = 'eeee, dd MMM yyyy'
t = datetime Saturday, 19 Aug 2023
t2 = dateshift(t,'end','week',5)
t2 = datetime Saturday, 23 Sep 2023
生成一个由后续三个连续星期五组成的日期序列。
t2 = dateshift(t,'dayofweek','Friday',1:3)
t2 = 1x3 datetime 25-Aug-2023 01-Sep-2023 08-Sep-2023
日期时间输入,指定为 datetime 数组。
'year'
'quarter'
'month'
'week'
'day'
'hour'
'minute'
'second'
时间单位,指定为以下值之一:
示例: t2 = dateshift(t,'start','hour')
t2 = dateshift(t,'start','hour')
示例: t2 = dateshift(t,'end','month')
星期几的名称或数字,指定为字符串标量或字符向量,它是本地化的星期几或介于 1 - 7 之间的一个整数。
1
7
1 - 7 之间的整数对应于一周中的星期几,如下表所示。
星期日
2
星期一
3
星期二
4
星期三
5
星期四
6
星期五
星期六
示例: t2 = dateshift(t,'dayofweek','Sunday')
t2 = dateshift(t,'dayofweek','Sunday')
示例: t2 = dateshift(t,'dayofweek',1)
t2 = dateshift(t,'dayofweek',1)
'next'
'previous'
'nearest'
'current'
推移 datetime 值的规则,指定为 'next'、'previous'、'nearest' 和 'current'、整数标量或整数数组。
下表说明推移 datetime 值的规则。
将 datetime 值推移到下一时间单位或指定的星期几。
注意:此规则是 'dayofweek' 输入参数的默认规则。
'dayofweek'
将 datetime 值推移到上一时间单位或指定的星期几。
将 datetime 值推移到最接近的出现的时间单位或指定的星期几。
您可以使用此规则对 datetime 值进行舍入。
在当前时间单位内推移 datetime 值,或推移到当前周中指定的星期几。
注意:此规则是 'start' 和 'end' 输入参数的默认规则。
'start'
'end'
等效于 'next' 规则。
n,其中 n > 1
n
等效于应用 n 次的 'next' 规则。
0
等效于 'current' 规则。
-1
等效于 'previous' 规则。
-n,其中 n > 1
-n
等效于应用 n 次的 'previous' 规则。
整数数组
根据 rule 中对应整数指定的规则,推移 t 中的每个值。
输入参数 t 和 rule 必须具有相同的大小,或其中一个必须为标量。
当 datetime 值与 'dayofweek' 参数匹配时的行为
如果您指定 'dayofweek',而 t 包含的 datetime 值落在该周指定的那一天,则 dateshift 会将这些 datetime 值视为上一次或下一次出现指定星期几的时间。
例如,如果 rule 为 'next'、'previous'、'nearest'、1 或 -1,则 dateshift(datetime(2015,12,24),'dayofweek','Thursday',rule) 将返回 datetime 值 2015 年 12 月 24 日,因为这一天是星期四。
dateshift(datetime(2015,12,24),'dayofweek','Thursday',rule)
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
在 R2014b 中推出
between | colon
between
colon
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office