The who command should give you exactly what you want - look at the "console" entry next to the user in question.
I could be wrong, but I don't believe that date is reset by anything short of logging out.
EDIT: I didn't look hard enough at what you had, which is already pretty close. who should get you time1 a little more simply than searching last, but I can't think of a better way to do the time math that you're already doing.