diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-12-11 12:04:41 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-01-07 08:45:12 +0100 |
commit | 6eb5d78419299d01f500140dd9400a68725e142b (patch) | |
tree | 08740da960aa8f512689a3924c986af6af37cf4d /common/date.c | |
parent | a9e7e68279de3aec38b038211a15a80cfc612c4e (diff) | |
download | barebox-6eb5d78419299d01f500140dd9400a68725e142b.tar.gz barebox-6eb5d78419299d01f500140dd9400a68725e142b.tar.xz |
hwclock command: use format like the Linux tool does
Print three-letter abbreviations of the days and months.
With a fixup by Andrey Smirnov:
| common/date.c: Fix off-by-one error
|
| As per http://pubs.opengroup.org/onlinepubs/007908775/xsh/time.h.html
| 'tm_wday' is zero indexed with zero representing Sunday, this is also
| corroborated by the code in rtc_time_to_tm() which used 4 to represent
| Thursday.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/date.c')
-rw-r--r-- | common/date.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/common/date.c b/common/date.c index 6b6b7ab495..129192e232 100644 --- a/common/date.c +++ b/common/date.c @@ -148,3 +148,21 @@ mktime (unsigned int year, unsigned int mon, )*60 + min /* now have minutes */ )*60 + sec; /* finally seconds */ } + +const char *time_str(struct rtc_time *tm) +{ + const char *weekdays[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; + const char *months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", + "Sep", "Oct", "Nov", "Dec" }; + static char buf[128]; + + sprintf(buf, "%s %02d %s %4d %02d:%02d:%02d", + weekdays[tm->tm_wday], + tm->tm_mday, + months[tm->tm_mon], + tm->tm_year + 1900, + tm->tm_hour, + tm->tm_min, + tm->tm_sec); + return buf; +} |