MATLAB Answers

anyway to compare date in Matlab

28 views (last 30 days)
Yu Li
Yu Li on 20 Mar 2019
Commented: Star Strider on 21 Mar 2019
I have two file with the same name, but different location, for example:
file1: D:/test/abc.m
file2: E:/test/abc.m
one of them has been updated. I could check the last modified name by:
filenames1=dir'(D:/test/);
time_file1=filenames(3).date;
filenames2=dir'(E:/test/);
time_file2=filenames(3).date;
the 'time_file1' and 'time_file2' represents the last modified time of these two files, the format is like: '22-Jan-2019 08:43:06'
my question is:
is there anyway to know which is ealier/later, so that I can keep the latest one for use, with out left-click, then property, to look at.
Bests,
Yu

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 20 Mar 2019
It might be easier to use the datenum field instead if you simply want to compare dates:
filenames1=dir'(D:/test/);
time_file1=filenames(3).datenum;
filenames2=dir'(E:/test/);
time_file2=filenames(3).datenum;
datediff = time_file1 - time_file2;

  4 Comments

Show 1 older comment
Star Strider
Star Strider on 20 Mar 2019
The larger number is the later date.
Try this:
dn1 = datenum('20-Mar-2019','dd-mmm-yyyy')
dn2 = datenum('21-Mar-2019','dd-mmm-yyyy')
datdif = dn2 - dn1
if datdif < 0
fprintf('Date: ‘%s’ is earlier than date: ‘%s’\n', datestr(dn2), datestr(dn1))
elseif datdif > 0
fprintf('Date: ‘%s’ is later than date: ‘%s’\n', datestr(dn2), datestr(dn1))
end
Experiment with the different dates in the date numbers.
Yu Li
Yu Li on 21 Mar 2019
Hi:
Thanks for your reply.
one point can not assure the judgement is right. I think knowing the internal method of how these two translate between each other would be more reasonable.
I'm contacting Mathworks Tech Support regarding it, and will come back here after I receive a appropriate solution.
Bests,
Yu

Sign in to comment.

More Answers (1)

Pruthvi Raj Gampalwar
Pruthvi Raj Gampalwar on 20 Mar 2019
[~,Data] = dos('dir D:/test/abc.m');
Scanned_data = textscan(Data,'%s');
Date_modified = Scanned_data{1}{15};

  0 Comments

Sign in to comment.

Sign in to answer this question.