date -r /etc/motd +%Y%m%d_%H%M%S
The -r flag is a shortcut of --reference and it is used to specify a reference file. Used in this way, the date command prints the last modification date of the specified file, instead of the current date.
The + controls the output format, for example:
%Y = 4-digit year%m = 2-digit month%d = 2-digit day%H = 2-digit hour%M = 2-digit minutes%S = 2-digit secondsSo in this example +%Y%m%d_%H%M%S becomes 20121001_171233
You should be able to find all the possible format specifiers in man date.
The default date command in Solaris does not support the --reference flag. Modern Solaris systems have the GNU tools installed, so you may be able to find the GNU implementation of date which supports this flag. Look for it in /usr/gnu/bin/date or /usr/local/bin/date, or do search the entire /usr with find /usr -name date.
In Solaris this may be a suitable substitute without using the date command:
ls -Ego /etc/motd | awk '{print $4 "_" $5}' | tr -d :- | sed -e 's/\..*//'
Or you can use good old perl:
perl -mPOSIX -e 'print POSIX::strftime("%Y%m%d_%H%M%S\n", localtime((stat("/etc/motd"))[9]))'