Operate with date and time string
1 回表示 (過去 30 日間)
古いコメントを表示
Jorge Luis Paredes Estacio
2023 年 1 月 9 日
コメント済み: Jorge Luis Paredes Estacio
2023 年 1 月 9 日
Hello, I have the following strings as an examples that it will collected from many accelerometer records
dt_event= ''2021_04_23 16_58_14'
dt_site= ''2021_04_23 17_00_18'
I want to generate a condition from which compare these two strings and do not be higher that 50sec or 2min (this condition can be based on seconds and minutes of difference)
So the condition will be like
if abs(dt_event-dt_site)>=50sec (or 2min)
Results.Check = 1.
For some cases the differences between dt_event and dt_site will be more 5hours due to time convertion from local time and UTC time. But there will be some some seconds or 2min of difference too.
if abs(dt_event-dt_site)>=5hours + 50sec (or 2min)
How I can apply these condition iin this cases condidering that dt_site and dt_event are string dates and time converted with a specific format as shown.
Thank you.
採用された回答
Vilém Frynta
2023 年 1 月 9 日
編集済み: Vilém Frynta
2023 年 1 月 9 日
% Your datetime as strings
dt_event= '2021_04_23 16_58_14';
dt_site= '2021_04_23 17_00_18';
% Convert to datetime format
dt_event_NEW = datetime(dt_event,'InputFormat','yyyy_MM_dd HH_mm_ss');
dt_site_NEW = datetime(dt_site,'InputFormat','yyyy_MM_dd HH_mm_ss');
% Create durations for comparison
timeCompare1 = duration([5,2,0]); % 5hrs 2 minutes duration
timeCompare2 = duration([0,2,0]); % 2 minutes duration
timeDiff = abs(dt_event_NEW-dt_site_NEW) % difference between the times
timeDiff > timeCompare1 % 2 mins > 5 hrs 2 mins = 0
timeDiff > timeCompare2 % 2 mins 4 seconds > 2 mins = 1
You can modify timeCompare as you wish, so you can compare the time difference to any other duration.
Hope I helped. Feel free to ask if you do not understand anything.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!