MATLAB如何提取表格中包含指定日期时间值的所有行
MATLAB 提取指定日期对应表格行方案
根据你Timestamp列的存储类型,可选择以下两种实现路径:
路径1:Timestamp列已为datetime类型(推荐)
直接基于日期属性筛选,准确率最高:
- 首先定义目标日期:
target_date = datetime('28-06-2018','InputFormat','dd-MM-yyyy'); - 执行行筛选操作:
result = your_table(isbetween(your_table.Timestamp, target_date, target_date + days(1), 'open','right'), :);
上述代码会匹配Timestamp列所有落在2018-06-28 00:00到2018-06-29 00:00之间的行,也就是目标日期全天的数据。
路径2:Timestamp列为字符/字符串类型
建议先转成datetime类型再筛选,避免字符匹配误差:
- 转换列格式:
your_table.Timestamp = datetime(your_table.Timestamp, 'InputFormat','dd-MM-yyyy HH:mm'); - 后续筛选逻辑和路径1完全一致。
如果临时需要直接做字符匹配,可以用以下代码(仅适用于所有时间字符串格式完全统一、无多余空格的场景):result = your_table(strcmp(extractBefore(your_table.Timestamp, 11), '28-06-2018'), :);
注意:datetime格式符中
MM对应两位月份、mm对应两位分钟,书写时不要混淆,否则会出现日期解析错误。上述代码中的your_table请替换为你实际使用的表格变量名。
内容的提问来源于stack exchange,提问作者Newbie
相关产品推荐
相关产品推荐

