While solving some programming puzzle, I wanted to see how long it took me to write a solution to the problem. To do so, I thought it'd be a good idea to compare the file creation date with the latest modification date.
In the terminal (OSX), I tried the following command and was surprised to see the same date three times in a row:
stat my_file.py 16777220 10280844 -rw-r--r-- 1 username staff 0 7214 \ "Dec 5 08:32:39 2015" \ "Dec 5 08:32:39 2015" \ "Dec 5 08:32:39 2015" \ "Dec 5 08:32:39 2015" 4096 16 0 my_file.py
The way I created then modified the file:
touch my_file.py vim my_file.py # <- modify some content stat my_file.py
Any idea on how to get these two dates from the command line?
Clarification: I do not want to time the execution time of the script.
EDIT : The issue was with vim changing the creation date on save, the accepted answer still answers the question in depth for those who are interested.
Click the hammer icon, then click the Run button. It will let you select a Word . doc or . docx file, and then will report the created and modified date/time stamp from the selected file in a dialog box.
To determine system type for macOSOpen the Apple menu and choose About This Mac. Click the System Report button. If you do not see a System Report button, click the More Info button and then click the System Report button. Under the Hardware panel, locate the Processor Name in the Hardware Overview.
macOS Big Sur was announced on June 22, 2020, during the WWDC20 keynote speech. It was released November 12, 2020. The major version number is changed, for the first time since "Mac OS X" was released, making it macOS 11.
stat
reports the standard Unix dates, last access time, last modification time, and inode change time (which is often mistaken for creation time). Mac OS X also maintains the file creation time, and it's accessible using the GetFileInfo
command:
$ GetFileInfo -d .bash_profile 10/08/2015 09:26:35
Here's a more complete example:
$ ls -l my_file.py ls: my_file.py: No such file or directory $ touch my_file.py $ stat -x my_file.py File: "my_file.py" Size: 0 FileType: Regular File Mode: (0644/-rw-r--r--) Uid: ( 501/ blm) Gid: ( 20/ staff) Device: 1,5 Inode: 26863832 Links: 1 Access: Sun Dec 6 13:47:24 2015 Modify: Sun Dec 6 13:47:24 2015 Change: Sun Dec 6 13:47:24 2015 $ GetFileInfo my_file.py file: "/Users/blm/my_file.py" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 12/06/2015 13:47:24 modified: 12/06/2015 13:47:24 $ echo hello >my_file.py $ stat -x my_file.py File: "my_file.py" Size: 6 FileType: Regular File Mode: (0644/-rw-r--r--) Uid: ( 501/ blm) Gid: ( 20/ staff) Device: 1,5 Inode: 26863832 Links: 1 Access: Sun Dec 6 13:47:24 2015 Modify: Sun Dec 6 13:47:35 2015 Change: Sun Dec 6 13:47:35 2015 $ GetFileInfo my_file.py file: "/Users/blm/my_file.py" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 12/06/2015 13:47:24 modified: 12/06/2015 13:47:35 $ cat my_file.py hello $ stat -x my_file.py File: "my_file.py" Size: 6 FileType: Regular File Mode: (0644/-rw-r--r--) Uid: ( 501/ blm) Gid: ( 20/ staff) Device: 1,5 Inode: 26863832 Links: 1 Access: Sun Dec 6 13:47:54 2015 Modify: Sun Dec 6 13:47:35 2015 Change: Sun Dec 6 13:47:35 2015 $ GetFileInfo my_file.py file: "/Users/blm/my_file.py" type: "\0\0\0\0" creator: "\0\0\0\0" attributes: avbstclinmedz created: 12/06/2015 13:47:24 modified: 12/06/2015 13:47:35
Note that using vim
to test this may be misleading because vim
will write your modified file to a new temporary file, then rename the old one and the new one, so the creation time will be updated to when the file was written. See this post for a workaround I came up with for that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With