1 of 2

As an alternative, with GNU date, you can do:

eval "$(date -r "$file" +'year=%Y month=%-m day=%-d')"

To have the modification time's year, month and day component stored in $year, $month and $day respectively (as decimal integers, remove the -s in %-m and %-d if you care for the leading zeros).

(note that contrary to GNU stat, for files of type symlink, the modification time of the target of the symlink is considered rather than that of the symlink itself. With GNU stat, you'd use stat -L).