Как узнать время в секундах с момента входа в систему? - PullRequest
2 голосов
/ 19 сентября 2011

Мне нравится знать, сколько времени в секундах прошло с тех пор, как пользователь вошел в систему.(TickCount не очень хорошо, потому что это с момента запуска системы)

Я знаю, что могу использовать last или who, чтобы получить метку времени, но я ищу простое, но надежное решение.Я бы использовал его в Какао, но с командой unix все в порядке.

Ответы [ 2 ]

3 голосов
/ 19 сентября 2011

См. Интерфейс utmpx (5) , в частности endutxent (3) . Это программный интерфейс к тому, на что вы смотрите: who и last.

1 голос
/ 21 сентября 2011

В конце я использовал getlastlogx (), спасибо Робу Напье за ​​то, что он указал мне правильное направление (+1).

это я придумал:

    struct lastlogx *lastLogin;
    uid_t myuid = getuid();
    lastLogin = getlastlogx(myuid,nil);
    NSDate *dateAtLogon = [NSDate dateWithTimeIntervalSince1970:lastLogin->ll_tv.tv_sec];
    NSDate *currentDate = [NSDate date];
    NSTimeInterval timeSinceLogin = [currentDate timeIntervalSinceDate:dateAtLogon];
    NSLog(@"%1.1f seconds since logon",timeSinceLogin); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...