I run who -b to get the date of the last reboot. It returns 2013-10-29 14:55. Now ran by a daemon (I am sending this date to a server) it returns Oct 29 14:55. But some other times (before last reboot in Oct 29) it would return something like 2013-10-24 13:17 consistently.

First set of questions : What in an environment controls this ? Why is it different from the sudo user and the daemon ? And why did it change in between 2 reboots ?

Another question : Is there a way to have this date with format 2013-10-29 14:55 ? I could format it but the year is missing. (i.e do you know what flag to pass who -b) ?

1 Answer 1


This is probably due to a locale change:

$ locale | grep LC_TIME
$ who -b
         system boot  2013-11-04 10:04
$ LC_TIME=C who -b
         system boot  Nov  4 10:04

Perhaps your locale was changed, and didn't take effect until after the reboot (perhaps you didn't update your environment after the change). As for why it looks different in a daemon, it probably has a different value for LC_TIME, or no value at all.

You can get the date using something like this (optionally replacing en_GB.UTF-8 with any locale that results in this format, since you may not have that locale on your system):

$ LC_TIME=en_GB.UTF-8 who -b | awk '{ print $3 " " $4 }'
2013-11-04 10:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .