How do I get the file date and time

344 views (last 30 days)
Norbert
Norbert on 23 Mar 2012
Edited: Tony Jiang on 2 Jun 2016
Hello folks,
in my Simulink model I want to create a block which will read from a file from time to time. The file will not be updated every time the block runs, so in order to save the performance for fopen'ing the file I would just like to check on the file date and time.
Is there any handy Matlab function which will return the file's date and time as a number (e.g. double, 32 bit int etc.)
This is for Matlab / Simulink R2012a, running on WinXP.
Thanks for any hints
Norbert

Accepted Answer

TAB
TAB on 23 Mar 2012
FileInfo = dir('YourFileWithExtention');
TimeStamp = FileInfo.date;
By the way, in which block of simulink you are using fopen.
[Edited 26 Mar, 2012]
% Get individual components of date & time in 1 Sec resolution
FileInfo = dir('YourFileWithExtention');
[Y, M, D, H, MN, S] = datevec(FileInfo.datenum);
Declare datevec as extrinsic before using.
  4 Comments
Jan
Jan on 26 Mar 2012
The datenum field contains even fractional seconds.

Sign in to comment.

More Answers (2)

Norbert
Norbert on 26 Mar 2012
Since I only need to detect a change of the file I will now use the Bytes field of the structure and check for a change of size, this will also work for me.
Btw. I am not sure I understand your question. I use a "Matlab Function" block. I have to declare the fopen as "extrinsic" though.

Tony Jiang
Tony Jiang on 2 Jun 2016
Edited: Tony Jiang on 2 Jun 2016
datestr(FileInfo.date,29) will report the date only without the time info. you can play with the different formatting in datestr though..

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!