主要内容

dateshift

移动日期或生成日期和时间序列

描述

例子

t2 = dateshift (t“开始”,单位中的每个值进行移位datetime数组t回到开始时指定的时间单位单位.输出t2大小是一样的吗t

例如,如果将2021年6月27日9:14 a.m.移动到小时的开始,则移动的值是2021年6月17日9:00 a.m.。如果将其移动到月初,则移动的值是2021年6月1日上午12:00。

例子

t2 = dateshift (t“结束”,单位将值提前到指定的时间单位的末尾单位

  • 一天、一小时、一分钟、一秒的结束,也是下一天、一小时、一分钟、一秒的开始。例如,如果将2021年6月27日上午9:14移动到小时结束,则移动的值是2021年6月17日上午10:00。

  • 一年、季度、月或一周的结束是在那一年、季度、月或一周的最后一天开始的午夜。例如,如果将2021年6月17日上午9:14移动到月末,则移动的值是2021年6月30日上午12:00。

例子

t2 = dateshift (t“dayofweek”,陶氏转换到一周中每一天或之后的指定日期datetime值数组t.如果约会在t已经落在一周的指定日期了dateshift返回相同的日期。

例子

t2 = dateshift (t、“dayofweek”、“周末”)转换到周末(周六或周日),在每一天或之后datetime值数组t

例子

t2 = dateshift (t、“dayofweek”“工作日”)转换到工作日(周一至周五),发生在每个工作日或之后datetime值数组t

例子

t2 = dateshift (___规则移动数组中的每个值t根据所指定的模式规则.您可以将此语法与前面语法中的任何参数一起使用。

例子

全部折叠

创建一个datetime值与当前日期。

t = datetime (“今天”
t =datetime01 - 9 - 2021

把日期改到年初。

t2 = dateshift (t)“开始”“年”
t2 =datetime01 - 1月- 2021

创建一个datetime值与当前日期。

t = datetime (“今天”
t =datetime01 - 9 - 2021

把日期移到当月的月底。

t2 = dateshift (t)“结束”“月”
t2 =datetime30 - 9 - 2021

创建一个datetime价值。

t = datetime (“今天”
t =datetime01 - 9 - 2021

把日期改到下个月的月初。

t2 = dateshift (t)“开始”“月”“下一个”
t2 =datetime01 - 10月- 2021

把日期改到下个月底。

t3 = dateshift (t)“结束”“月”“下一个”
t3 =datetime2021年- 10月31日

创建一个datetime数组中。格式化它以显示星期和日期。

把一系列日期提前到下周五。

T = [datetime(2014,08,03) datetime(2014,04,15)];t.Format ='eeee, dd MMM yyyy'
t =1 x2 datetime2014年8月3日星期日2014年4月15日星期二

把日期提前到下星期五。

t2 = dateshift (t)“dayofweek”“星期五”
t2 =1 x2 datetime2014年4月18日星期五

把日期倒推到前一个星期一。

t3 = dateshift (t)“dayofweek”“周一”“以前”
t3 =1 x2 datetime2014年4月14日星期一

创建一个datetime数组中。格式化它以显示星期和日期。

T = [datetime(2021,5,30) datetime(2021,6,4)];t.Format ='eeee, dd MMM yyyy'
t =1 x2 datetime星期日,2021年5月30日,星期五,2021年6月4日

转换到在每个值上或之后的第一个周末t.因为周日已经是周末了,第一天datetime值不发生移位。但第二个价值从周五转移到周六。

t2 = dateshift (t)“dayofweek”“周末”
t2 =1 x2 datetime2021年5月30日星期日2021年6月5日星期六

创建一个datetime数组中。格式化它以显示星期和日期。

T = [datetime(2021,5,30) datetime(2021,6,4)];t.Format ='eeee, dd MMM yyyy'
t =1 x2 datetime星期日,2021年5月30日,星期五,2021年6月4日

转换到在每个值上或之后的第一个工作日t.周日改为周一。但是因为星期五已经是工作日了,所以第二个datetime值不发生移位。

t2 = dateshift (t)“dayofweek”“工作日”
t2 =1 x2 datetime2021年5月31日,星期一,2021年6月4日,星期五

找出从今天开始的第五周的最后一天。

t = datetime (“今天”);t.Format ='eeee, dd MMM yyyy'
t =datetime9月1日,星期三
t2 = dateshift (t)“结束”“周”5)
t2 =datetime星期六,2021年10月9日

生成一个日期序列,由星期五的接下来三次出现组成。

t = datetime (“今天”
t =datetime01 - 9 - 2021
t2 = dateshift (t)“dayofweek”“星期五”1:3)
t2 =1 x3 datetime03 - 2021年9月- 2021年9月10 - - 17 - 9 - 2021

输入参数

全部折叠

输入日期和时间,指定为datetime数组中。

时间单位,指定为以下值之一:

  • “年”

  • “季”

  • “月”

  • “周”

  • “天”

  • “小时”

  • “一分钟”

  • “第二”

例子:t2 = dateshift (t,“开始”,“小时”)

例子:t2 = dateshift (t,“结束”,“月”)

一周中的某一天的名称或数字,指定为字符串标量或字符向量,该字符串标量或字符向量是本地化的一天名称或介于两者之间的整数1- - - - - -7

之间的整数1- - - - - -7对应于一周的天数,如表格所示。

1

周日

2

周一

3.

周二

4

周三

5

周四

6

星期五

7

周六

例子:t2 = dateshift (t ' dayofweek ' '星期天')

例子:t2 = dateshift (t, dayofweek, 1)

规则变化datetime值,指定为“下一个”“以前”“最近的”“当前”、标量整数或整数数组。

表格描述了移动的规则datetime值。

规则 描述

“下一个”

转变datetime值为下一个时间单位或指定的星期。

注意:属性的默认规则“dayofweek”输入参数。

“以前”

转变datetime值为以前的时间单位或指定的星期。

“最近的”

转变datetime值为时间单位或指定的星期中最近的发生。

你可以用这个规则来舍入datetime值。

“当前”

转变datetime值在当前时间单位内或在当前星期内指定的日期内。

注意:属性的默认规则“开始”“结束”输入参数。

1

相当于“下一个”规则。

n,在那里n>1

相当于“下一个”规则应用n次了。

0

相当于“当前”规则。

-1

相当于“以前”规则。

- n,在那里n>1

相当于“以前”规则应用n次了。

整数的数组

将每个值移位t根据规则中指定的相应整数规则

输入参数t规则大小必须相同,否则其中一个必须是标量。

时的行为datetime值匹配“dayofweek”论点

如果您指定“dayofweek”t包含datetime值落在一周的指定日期,则dateshift对待那些datetime值作为一周中指定日期的下一个或前一个出现的次数。

例如,dateshift (datetime(2015、12、24),“dayofweek”,“日”,规则返回一个datetime值,日期为2015年12月24日规则“下一个”“以前”“最近的”1,或-1因为2015年12月24日是星期四。

扩展功能

另请参阅

|

介绍了R2014b