Hi Pádraig, Thanks for replying. When we can expect the fix. Can we use the attached patch as workaround for time been. whether it would be sufficient. Thanks & Regards, Prateek On Sat, May 6, 2017 at 1:48 AM, Pádraig Brady wrote: > On 04/05/17 23:03, Prateek saxena wrote: >> Hi, >> >> We found some discrepancy with uptime utility of coreutils package. >> >> In my system using coreutils package with version 8.26, uptime output prints >> PM/AM for 24 hour time format. >> >> Logs: >> ------------------------------------------------------------------------------------ >> # uptime >> 17:19pm up 6 days 10:02, 1 user, load average: 0.18, 0.14, 0.10 >> >> # uptime --version >> uptime (GNU coreutils) 8.26 >> Copyright (C) 2016 Free Software Foundation, Inc. >> >> License GPLv3+: GNU GPL version 3 or later >> . >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. >> Written by Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi >> ------------------------------------------------------------------------------------ >> >> The time is in 24 hours format and PM is not expected to be printed. >> We can see latest patch for uptime utility, use of fprintftime to print the >> time >> (http://lists.gnu.org/archive/html/bug-coreutils/2008-08/msg00035.html). >> >> ------------------------------------------------------------------------------------ >> diff --git a/src/uptime.c b/src/uptime.c >> index 9e3384f..5bdc230 100644 >> --- a/src/uptime.c >> +++ b/src/uptime.c >> @@ -36,6 +36,7 @@ >> #include "long-options.h" >> #include "quote.h" >> #include "readutmp.h" >> +#include "fprintftime.h" >> >> /* The official name of this program (e.g., no `g' prefix). */ >> #define PROGRAM_NAME "uptime" >> @@ -126,12 +127,10 @@ print_uptime (size_t n, const STRUCT_UTMP *this) >> uphours = (uptime - (updays * 86400)) / 3600; >> upmins = (uptime - (updays * 86400) - (uphours * 3600)) / 60; >> tmn = localtime (&time_now); >> + /* procps' version of uptime also prints the seconds field, but >> + previous versions of coreutils don't. */ >> if (tmn) >> - printf (_(" %2d:%02d%s up "), >> - ((tmn->tm_hour % 12) == 0 ? 12 : tmn->tm_hour % 12), >> - /* FIXME: use strftime, not am, pm. Uli reports that >> - the german translation is meaningless. */ >> - tmn->tm_min, (tmn->tm_hour < 12 ? _("am") : _("pm"))); >> + fprintftime (stdout, _(" %H:%M%P up "), tmn, 0, 0); >> else >> printf (_(" ??:???? up ")); >> if (uptime == (time_t) -1) >> ----------------------------------------------------------------------------------- >> >> Can you please verify whether PM/AM should be avoided from uptime print. >> >> Please find attach patch to remove AM/PM from the print for your reference. >> >> Please provide your inputs for same. >> >> Thanks & Regards, >> Prateek >> > > > Nice catch. > I'm happy to simplify and switch to 24 hour > (which also matches procps-ng normally used on Linux) > > thanks > Pádraig