主要内容

timeofday

午夜以来经过的时间datetime数组

描述

例子

T= timeofday (DT)返回一个持续时间数组的值等于午夜以来经过的时间为每个元素DT

datetime数组没有时区,在其他情况下,T等于

E =小时(DT.Hour) +分钟(DT.Minute) +秒(DT.Second)

如果DT有其时区属性设置为一个时区,尊重夏令时(DST)timeofday考虑了DST。有关更多信息,请参见算法

输出参数T也相当于DT - dateshift (DT,‘开始’,‘天’)

例子

(T,D)= timeofday (DT)还返回的日期部分的值DT随着datetime数组D

输出参数D相当于dateshift (DT,‘开始’,‘天’)

例子

全部折叠

创建一个datetime数组中。

DT = datetime (“现在”)+小时(1:3)
DT =1 x3 datetime03 - mar - 2023 08:06:28 03 - mar - 2023 09:06:28 03 - mar - 2023 10:06:28

计算时间为每个输入值自午夜。显示倍小时、分钟和秒。

T = timeofday (DT)
T =1 x3持续时间08:06:28 09:06:28 10:06:28

创建一个datetime数组中。

DT = datetime (“现在”)+小时(1:3)
DT =1 x3 datetime03 - mar - 2023 07:11:50 03 - mar - 2023 08:11:50 03 - mar - 2023 09:11:50

返回的日期部分DT作为第二datetime数组中。因为小时、分钟和第二个组成部分D都是设置为午夜(或就是在24小时格式),D只会显示日期。

[T、D] = timeofday (DT)
T =1 x3持续时间07:11:50 08:11:50 09:11:50
D =1 x3 datetime03 - 3月- 2023年03 - 3月- 2023年03 - mar - 2023

计算运行时间午夜以来每天用夏令时(DST)的转变。

创建一个datetime数组中。设置它时区属性来观察DST的时区。将日期设置为一天,DST转变发生。

tz =“美国/ New_York”;fmt =“dd-MMM-yyyy HH: mm: ss z”;3 DT = datetime(2015年,8日“时区”tz,“格式”fmt) +小时(1:4)
DT =1 x4 datetime08 - mar - 2015 01:00:00 EST 08年3月- 2015年3月美国03:00:00 08 - - 2015美国04:00:00 08 - mar - 2015 05:00:00美国东部时间

计算运行时间。DST的转变发生在3月8日02:00,2015在这个时区。timeofday02:00占时期的转变或之后日期。设置的格式T显示运行时间的小时。

T = timeofday (DT);T。格式=“h”
T =1 x4持续时间1小时2小时3小时4小时

作为比较,计算运行时间使用小时,分钟,和第二组成部分DT。这个计算不考虑DST的转变。

E =小时(DT.Hour) +分钟(DT.Minute) +秒(DT.Second)
E =1 x4持续时间1小时3小时4小时5小时

天的时候datetime据《纽约时报》的另一个数组datetime数组中。

有两种方法可以设置时间。

  • 把时间从第一个部分datetime通过使用数组timeofday并添加第二个部分的时间datetime数组中。

  • 设置小时,一分钟,第二个组件的第二个datetime数组等于小时,一分钟,第二个组件的第一datetime数组中。

如果你使用第一种方法,你可能不总是占夏令时正确(DST)的变化。只有第二种方法是在任何DST的变化总是正确的。

创建一个datetime数组中。每个元素都有一个不同的时间组件。

dt₁= datetime(2015、3、7) +小时(1:4)
dt₁=1 x4 datetime07 - 3月- 2015 01:00:00 07 - 3月- 2015年02:00:00 07 - 3月- 2015年03:00:00 07 - 3月- 2015 04:00:00

创建第二个datetime数组中。每个元素有相同的日期和时间的组件。

DT2 = datetime (2015 3 [8 8 8 8])
DT2 =1 x4 datetime08年- 08年3月- 2015年3月- 2015年08 - 3月- 2015年08 - mar - 2015

天的时候DT2据《纽约时报》的一天dt₁。因为dt₁DT2没有时区的时间组件是相同的。

DT2 = dateshift (DT2,“开始”,“天”)+ timeofday (dt₁)
DT2 =1 x4 datetime08 - mar - 2015 01:00:00 08年3月- 2015 02:00:00 08年3月- 2015 03:00:00 08年3月- 2015 04:00:00

创建一个datetime数组的元素时区属性设置为“美国/ New_York”。因为DT3有一个时区和DST转变发生在3月8日,2015年,时间的组成部分DT3是不一样的dt₁

tz =“美国/ New_York”;fmt =“dd-MMM-yyyy HH: mm: ss z”;DT3 = datetime (2015、3、8,“时区”tz,“格式”fmt) + timeofday (dt₁)
DT3 =1 x4 datetime08 - mar - 2015 01:00:00 EST 08年3月- 2015年3月美国03:00:00 08 - - 2015美国04:00:00 08 - mar - 2015 05:00:00美国东部时间

显示运行时间自午夜。timeofday占DST的转变。次运行时间显示DT3是不正确的。最后一次在DT3对应于5点。但在dt₁从午夜只有四个小时过去了。

T = timeofday (DT3)
T =1 x4持续时间01:00:00 02:00:00 03:00:00 04:00:00

设置的一天DT4正确的时区或一年的日子,使用小时,一分钟,第二个的属性dt₁

DT4 = datetime (2015 3 (8 8 8 8),“时区”tz,“格式”fmt);DT4。小时= DT1.Hour;DT4。分钟= DT1.Minute;DT4。第二个= DT1.Second;DT4
DT4 =1 x4 datetime08 - mar - 2015 01:00:00 EST 08年3月- 2015年3月美国03:00:00 08 - - 2015美国03:00:00 08 - mar - 2015 04:00:00美国东部时间

在这个时区,下午2点。东部标准时间并不存在于3月8日,2015年,因为DST转变发生。结果一次组件的第二个元素的凌晨3点。东部时间。

输入参数

全部折叠

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

输出参数

全部折叠

时间的部分输入数组,返回持续时间数组中。

日期的输入数组,作为一个返回datetime数组中。

算法

一个datetime数组可以有它时区属性设置为一个时区,观察夏令时(DST)。的timeofday考虑了DST函数。

  • 如果输入参数DT是一个datetime数组没有时区,然后输出T也等于

    E =小时(DT.Hour) +分钟(DT.Minute) +秒(DT.Second)

  • 如果DT有其时区属性设置为一个时区,不观察DST,T等于E

  • 如果DT有其时区属性设置为一个观察DST的时区,然后timeofday占时候DST的转变发生的转变。在那些日子里,次DST后发生转变,T不同于E量的转变。

扩展功能

版本历史

介绍了R2014b