How to get creation date of files
    67 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
How can I get the creation date of file? I can get modified date with dir command but not the creation date.
0 Kommentare
Akzeptierte Antwort
  Stephen23
      
      
 am 8 Jun. 2016
        
      Bearbeitet: Stephen23
      
      
 am 8 Jun. 2016
  
      Try this FEX submission:
Or on windows you can call the DOS command:
but their advice is not quite correct, it actually needs to be like this:
>> [~,str] = dos('dir /T:C *.m');
>> rgx = '(\d{4}\.\d{2}\.\d{2}\.\s+\d{2}:\d{2})\s+\d+\s+([^\n]+)';
>> tkn = regexp(str,rgx,'tokens');
>> tkn{:}
ans = 
    '2016.03.02.  11:51'    'startup.m'
ans = 
    '2016.06.07.  15:29'    'Untitled.m'
And then it reads the creation date perfectly!
4 Kommentare
  KAE
      
 am 1 Jul. 2021
				If you have spaces in the directory name you will need to put double quotes on the file name, here in a variable called fileName:
[~, str] = dos(['dir "' fileName '"']);
Weitere Antworten (4)
  Guillaume
      
      
 am 8 Jun. 2016
        On windows you can simply delegate to .Net
d = system.IO.File.GetCreationTime(fullpath)
1 Kommentar
  Austin Spencer
 am 10 Jun. 2019
				Thanks for the info, this is a nice clean solution!  By comparison parsing the return from "dir" seems to be very fragile and is inherently platform dependent.  
One correction: at least for my case, "system" must be capitalized.
d = System.IO.File.GetCreationTime(fullpath);
The resulting .NET DateTime object can then be converted into a MATLAB datetime object.
creationDateTime = datetime(d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second);
  Sam Raymond
      
 am 5 Mai 2021
        With python now very much integrated into MATLAB (R2021a), a nice way to get this is the following:
d1 = datetime(py.os.path.getctime('video_path'),'ConvertFrom','epochtime','TicksPerSecond',1,'Format','dd-MMM-yyyy HH:mm:ss.SSS');
0 Kommentare
  Tim Lueth
 am 29 Jan. 2019
        
      Bearbeitet: Tim Lueth
 am 29 Jan. 2019
  
      On Mac OSX (tested 2019-01-29 using Mojave and Matlab R2018a) use:
[a,b]=system('GetFileInfo myfile.m'); s=strfind(b,'created: ')+9; crdat=b(s:s+18)
or
fname='myfile.m'
[a,b]=system(sprintf('GetFileInfo "%s"',fname)); s=strfind(b,'created: ')+9; crdat=b(s:s+18)
datestr(datenum(crdat))
0 Kommentare
  Konstantin
 am 26 Jan. 2023
        Why not like this?
file_info = dir(path_to_file)
1 Kommentar
  Stephen23
      
      
 am 26 Jan. 2023
				"Why not like this?"
The question asks for the file creation date. DIR() returns the file modification date:

This is explained in the DIR() documentation:
Siehe auch
Kategorien
				Mehr zu File Operations finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!