主要内容

产生的日期和时间序列

端点之间的Datetime或持续时间值序列与步长

这个例子展示了如何使用冒号(:)算子生成序列datetime持续时间值以相同的方式创建定期间隔的数值向量。

使用默认步长

创建datetime值序列从11月1日开始,2013年,截至2013年11月5日,和。默认步长是一个日历天。

t1 = datetime(1 2013年,11日,8,0,0);t2 = datetime (2013、11、5、8 0 0);t = t1, t2
t =1 x5 datetime01 - 11月- 2013 08:00:00 02 - 11月- 2013 08:00:00 03 - 11月- 2013 08:00:00 04 - 11月08:00:00 - 2013 08:00:00 05 - 11月- 2013

指定步长

指定一个步长为2天使用caldays函数。

t = t1: caldays (2): t2
t =1 x3 datetime01 - 11月- 2013 08:00:00 03 - 11月08:00:00 - 2013 08:00:00 05 - 11月- 2013

指定一个步长在单位以外的天。创建datetime值序列间距为18个小时。

t = t1:小时(18):t2
t =1 x6 datetime01 - 11月- 2013 08:00:00 02 - 11月- 2013 02:00:00 02 - 11月- 2013年20:00:00 03 - 2013年11月- 2013年14:00:00 04 - 11月- 08:00:00 02:00:00 05 - 11月2013

使用,,分钟,函数来创建datetime和持续时间序列使用其他固定长度的日期和时间单位。创建一个时间序列值介于0到3分钟,增加了30秒。

d = 0:秒(30):分钟(3)
d =1 x7持续时间0秒30秒60秒90秒120秒150秒180秒

比较固定长度的持续时间和日历时间步大小

分配一个时区t1t2。在美国/ New_York时区,t1现在发生在夏令时的变化。

t1。时区=“美国/ New_York”;t2。时区=“美国/ New_York”;

如果您创建序列使用一个日历日的步长,然后连续的区别datetime值并不总是24小时。

t = t1, t2;dt = diff (t)
dt =1 x4持续时间24:00:00 25:00:00 24:00:00 24:00:00

创建datetime值序列间距为固定长度的一天,

t = t1:天(1):t2
t =1 x5 datetime01 - 11月- 2013 08:00:00 02 - 11月- 2013 08:00:00 03 - 2013年11月- 2013年07:00:00 04 - 11月- 07:00:00 07:00:00 05 - 11月2013

验证连续的区别datetime值24小时。

dt = diff (t)
dt =1 x4持续时间24:00:00 24:00:00 24:00:00 24:00:00

整数步长

如果你指定一个步长整数而言,它是解释为一个24小时的天数。

t = t1:1: t2
t =1 x5 datetime01 - 11月- 2013 08:00:00 02 - 11月- 2013 08:00:00 03 - 2013年11月- 2013年07:00:00 04 - 11月- 07:00:00 07:00:00 05 - 11月2013

增加持续时间或日历时间创建日期的顺序

这个例子展示了如何添加一个时间或日历时间一个datetime创建datetime值的序列。

创建一个datetime标量表示11月1日,2013年,早上8点。

t1 = datetime(1 2013年,11日,8,0,0);

添加一个datetime的固定长度的时间序列。

t = t1 +小时(0:2)
t =1 x3 datetime01 - 11月01 - 2013 08:00:00 - 2013 09:00:00 01 - 11月- 2013年11月10:00:00

添加一个日历月的日期时间序列。

t = t1 + calmonths (1:5)
t =1 x5 datetime01 - 12月- 2013年08:00:00 01 - 1月- 2014年08:00:00 01 - - 2014 08:00:00 01 - 3月- 2014年2月08:00:00 01 - 4月- 2014 08:00:00

每一个datetimet发生在每个月的第一天。

确认的日期t间距为1个月。

dt = caldiff (t)
dt =1 x4 calendarDuration1 mo 1莫莫莫

确定每一个日期之间的天数。

dt = caldiff (t)“天”)
dt =1 x4 calendarDuration31 d 31 d 28 d 31 d

添加一个日历月的日期,2014年1月31日,创建一个序列的日期落在每个月的最后一天。

t = datetime (2014, 31) + calmonths (0:11)
t =1 x12 datetime31日- 2014年1月- 2014年2月28 - - - 3月- 2014年4月30 - 31 - 2014 31 - 2014年5月- 30 - 2014年6月- 8月31日- 2014年7月31日- 2014年9月30 - 31 - 2014——2014年10月- 2014年11月30 - - 31 - 12月- 2014

指定日期或时间序列的长度和端点

这个例子展示了如何使用linspace函数来创建等距的datetime或持续时间值指定的两个端点。

创建一个序列的五个等距的日期在4月14日,2014年,2014年8月4日。首先,定义端点。

一个= datetime(2014年,04 14);B = datetime(2014, 08年,04);

第三个输入linspace指定的数量线性端点之间的间隔点生成。

C = linspace (A, B, 5)
C =1 x5 datetime14 - 4月- 2014年12 - 2014年5月- 09年7月- 2014年6月- 07年8月- 2014年04 - - 2014

创建一个序列的六个等距的持续时间1 - 5.5小时。

=时间(1,0,0);B =持续时间(5 30 0);C = linspace (A, B, 6)
C =1 x6持续时间01:00:00 01:54:00 02:48:00 03:42:00 04:36:00 05:30:00

使用日历Datetime值序列规则

这个例子展示了如何使用dateshift函数生成的日期和时间序列,每个实例都遵循一个规则有关日历单位或单位的时间。例如,每个datetime必须发生在一开始一个月,每周的某一天,或者在最后一分钟。由此产生的datetime值序列不一定是等距的。

周日期在特定的一天

生成的日期组成的序列未来三周一出现的。首先,定义今天的日期。

t1 = datetime (“今天”,“格式”,“dd-MMM-yyyy eee”)
t1 =datetime05年- - - 2023年5月,星期五

第一个输入dateshift总是datetime您想生成一个数组序列。指定“dayofweek”第二表明datetime值输入输出序列必须落在特定的一天。您可以指定星期通过数字或名字。例如,您可以指定星期一2“周一”

t = dateshift (t1,“dayofweek”、2、1:3)
t =1 x3 datetime08 - 2023年5月,我15 - 2023年5月,我22日- 2023年5月,Mon

日期在每月的开始

生成一系列start-of-month日期从4月1日开始,2014年。指定“开始”第二个输入dateshift表明所有datetime值在输出序列应该落在一个特定的时间单位。第三个输入参数定义了时间单位,在这种情况下,月。最后一个输入dateshift可以是一个整型值的数组,用于确定如何t1应该是发生了变化。在这种情况下,0对应于当前月份的开始,4对应于从第四个月开始的t1

t1 = datetime (2014、04 01);t = dateshift (t1,“开始”,“月”,0:4)
t =1 x5 datetime01 - 4月- 2014年1 - 5月- 2014年01 - 2014年6月- 2014年1 - 7月1日- 8月- 2014

日期在月底

生成一系列月底日期从4月1日开始,2014年。

t1 = datetime (2014、04 01);t = dateshift (t1,“结束”,“月”0:2)
t =1 x3 datetime30 - 4月- 2014年31日- 2014年5月- 2014年- 6月30日

确定每一个日期之间的天数。

dt = caldiff (t)“天”)
dt =1 x2 calendarDuration31 d 30 d

日期不等距的。

其他单位的日期和时间

您可以指定其他单位时间一周,等一天,小时。

t1 = datetime (“现在”)
t1 =datetime05年- - - 2023年5月——20:04:33
t = dateshift (t1,“开始”,“小时”,0:4)
t =1 x5 datetime05 - 2023年5月——20:00:00 05 - 2023 21:00:00 05 -可能- 2023 22:00:00 05 -可能- 2023 23:00:00 06 - - 2023就是

之前出现的日期和时间

生成一系列datetime值开始前一个小时。负整数输入dateshift早于对应datetime值t1

t = dateshift (t1,“开始”,“小时”1:1)
t =1 x3 datetime05 -可能- 2023 19:00:00 05 - 2023 20:00:00 05 - 2023年5月——21:00:00

另请参阅

|