Once a process in Linux is running for more than 24 hours, it's impossible to get an exact measurement of its start time from ps. The best you can do it something like this:

lingalls@foobar:~$ ps -o “user pid stime tty comm” -u lingalls USER PID STIME TT COMMAND lingalls 32237 Apr06 ? gconfd-2 lingalls 11813 Apr06 ? gnome-session lingalls 11940 Apr06 ? utaudio lingalls 11950 Apr06 ? utslaunch lingalls 11951 Apr06 ? utmhscreen lingalls 11960 Apr06 ? utaction lingalls 11975 Apr06 ? ssh-agent lingalls 11979 Apr06 ? bonobo-activati

Which is completely unhelpful. So I wrote a script to calculate the accurate starttime from information in the proc filesystem. Shared here for your conveniece:

stime () { if ( test ! -d /proc/$1 ); then echo “No process $1”; return; fi; U="awk '{print $1}' /proc/uptime | sed -e 's/\.//'"; N="awk '{print $22}' /proc/$1/stat"; D="$(( (U-N)/100 ))"; perl -e ‘print scalar localtime(time - shift)."\n"’ $D }

Copy and paste that script into your bash or ksh session (or append it to your .bash_profile or .profile), and then run "stime PID".