find can print any of the 3 timestamps a file/directory can have. You just have to use -printf with the appropriate format sequence: %C@ or %A@ or %T@ (see the detail is man find).
As for empty directories, checking if $? is 0 can be misleading because 0 return code means "nothing bad has happened", and an empty directory does not count "something bad", it's just a special but normal case. But you can store the OUTPUT of find (and the following commands in the pipe) and check if it is empty or not.
Like
fileage=$(find $1 -maxdepth 1 -type f -printf "%T@\n" | sort | head -n 1) if [ -z "fileage" ]; then echo 0 else echo $fileage fi
or, if you like to be short:
fileage=$(find $1 -maxdepth 1 -type f -printf "%T@\n" | sort | head -n 1) echo $
Nevertheless, be careful if you really want to see "oldest file" because that would mean reading the creation time of the file and that is not stored. You could have the oldest file with the newest of all the three timestamps.