а в чем сложность то? при нажатии кнопки ты получишь событие по longpoll. там будет время когда это событие случилось. вот это время и записываешь.
когда нажали "Оффлайн" - также записываешь время. итого у тебя будет дата начала и дата конца. разность, думаю, сам найдешь