Why does “ls -l” display the year of the (jar) file as “16:18”

terminal

I was looking through my file system and noticed that the date of mysql-v5.jar is formatted incorrectly.

~/Dev/Lib$ ls -l  
total 29128  
-rw-r-----@ 1 johndoe  staff   2256213 Mar 16  2015 guava-18.0.jar  
-rw-r--r--@ 1 johndoe  staff  11684781 Jan 30  2012 kuromoji-0.7.7.jar
-rw-r--r--@ 1 johndoe  staff    968670 May  4 16:18 mysql-v5.jar

What is going on?

(So far, all 3 jar files have worked just fine for me. I can't remember where I downloaded those files from.)

Best Answer

From man ls (The Long Format):

If the modification time of the file is more than 6 months in the past or future, then the year of the last modification is displayed in place of the hour and minute fields.

Or in other words: It works as designed.