Time interval of a continuous record
2 次查看(过去 30 天)
显示 更早的评论
I would like to find the dureation between the following times. This is piece of a group of data called A.
NaN
22:00:00
23:00:00
00:00:00
01:00:00
NaN
16:00:00
17:00:00
NaN
06:00:00
NaN
14:00:00
15:00:00
16:00:00
NaN
The duration is one hour so it should display as:
NaN
01:00:00
01:00:00
01:00:00
01:00:00
NaN
01:00:00
01:00:00
NaN
01:00:00
NaN
01:00:00
01:00:00
01:00:00
NaN
3 个评论
Siddharth Bhutiya
2022-4-1
You mentioned that this is just an example, so in your original data, what is the data type of these values? Are these stored as durations or datetimes? If you are storing these as durations then as Steven mentioned above you are using durations to represents datetimes with some implicit assumptions. This will always mean you would have to do more work to get the right behavior. On the other hand if these were datetimes, then this becomes a simple call to diff
d
d =
15×1 datetime array
NaT
04-01-2022 22:00:00
04-01-2022 23:00:00
04-02-2022 00:00:00
04-02-2022 01:00:00
NaT
04-01-2022 16:00:00
04-01-2022 17:00:00
NaT
04-01-2022 06:00:00
NaT
04-01-2022 14:00:00
04-01-2022 15:00:00
04-01-2022 16:00:00
NaT
diff(d)
ans =
14×1 duration array
NaN
01:00:00
01:00:00
01:00:00
NaN
NaN
01:00:00
NaN
NaN
NaN
NaN
01:00:00
01:00:00
NaN
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!