time duration of being online of a particular user given the user name

in a multi user system of 3 users X,Y,Z, if i know that X is presently online, is it possible to determine for how long has he been online? i mean the time duration

Doesn't 'who' say when they logged in?

actually the problem with who is that if for example there is a user named Jonathan_Smith, then `who` does not display the full user name ..It only displays the 1st 8-9 characters. So if i redirect the output of `who` to a file then i cannot search for Jonathan_Smith in there as it would contain Jonathan_ or something like that

UNIX user ids are unique in the first 8, last I checked, so you can search /etc/passwd or such with them.