产生的日期和时间序列
端点之间的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秒
比较固定长度的持续时间和日历时间步大小
分配一个时区t1
和t2
。在美国/ 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