Why does touch -t replace the modification time with the year when I ls? When I use touch with the -t option to change the modification time of a file, for example:

&gt; touch -t 201702160701 ABC.script


Then the file that appeared as such before:

-rwxrwxrwx  1 timruss  staff    0 Oct 21 23:12 ABC.script


Will now appear as:

-rwxrwxrwx  1 timruss  staff    0 Feb 16  2017 ABC.script


Why is that?
What you are seeing is the normal and expected behavior.

From the manual page for ls:


  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.


To see output including month, day, hour, minute, second, and year on files that fall into the category above, use the -T option.


  -T When used with the -l (lowercase letter “ell”) option, display complete time information for the file, including month, day, hour, minute, second, and year.


Example:

ls -lT ABC.script
-rwxrwxrwx  1 timruss  staff    0 Feb 16 07:01:00 2017 ABC.script