从datetime数组中移除close datetimes

9次浏览(最近30天)
迪伦den Hartog
迪伦den Hartog 2020年5月14日
我有这个5x1 datetime数组:
2020年5月- 14 - 10:47:18
2020年5月- 14 - 10:47:19
2020年5月- 14 - 10:47:20
2020年5月- 14 - 10:53:36
2020年5月- 14 - 10:54:05
我想在另一个日期时间的2秒内删除所有的日期时间,所以在这种情况下,我想删除第二个和第三个日期时间'14-May-2020 10:47:19'和'14-May-2020 10:47:20',保留'14-May-2020 10:47:18'。有没有简单的方法?
2的评论
剪秋罗属植物龙
剪秋罗属植物龙 2020年5月22日
让我猜一下 Sindar 的第二个例子(即"remove all datetimes within 2 seconds of the previous datetime")是想要的结果,我会这样做:
>> dt = sort(dt);
> > dt([真实;diff (dt) > =秒(2)))前面的TRUE表示第一个元素的偏移量

登录评论。

答案(1)

Jalaj Gambhir
Jalaj Gambhir 2020年5月18日
编辑:Jalaj Gambhir 2020年5月18日
你好,
下面是你完成任务的方法之一,正如评论中指出的, 删除前一个日期时间的2秒内的所有日期时间
DateStrings = {“14 - 2020年5月——10:47:18”“14 - 2020年5月——10:47:19”“14 - 2020年5月——10:47:20”“14 - 2020年5月——10:53:36”“14 - 2020年5月——10:54:05”“14 - 2020年5月——10:51:03”“14 - 2020年5月——10:51:05”};
t = datetime (DateStrings“InputFormat”“dd-MMM-yyyy HH: mm: ss”);
t = (t);
i = 1:长度(t)
如果~ isnat (t (i))
低= t(我)+秒(1);
上=下+秒(2);
t (isbetween (t,低,上部))= NaT;
结束
结束
结果= t (~ isnat (t));
希望这可以帮助!

下载188bet金宝搏


释放

R2019a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!