If you could use w command, it can give you better results too.
It shows JCPU & PCPU time based on process used by users. It can give you desired redults too.
But if you want to use who command.
use who -a. it gives you all information about logged in and logged out users.
if exit=0, it means users who are logged out.
You can find the list of logged in users who do not have exit=0
You can use last command for the list of logged in and logged out users.
Here you can find out the users who were logged in more than three hours but currently logged out.
But if you want to see details of logged in users, you can use
$ last | grep "Feb 27" | grep "still"
It will show the current logged in users of 27 feb with there logged in time.
Suppose it is 20:00 pm and you want to know the users who were logged in around 18:00 pm and all after that, you can use
last | grep "Feb 27" | grep "still" | grep -e "18:" -e "19:" -e "20:"
It will show you list of all users who were logged in after 18:00 pm and still logged in.