OSDN Git Service

add the %s (seconds since the epoch) format to strftime
authorRich Felker <dalias@aerifal.cx>
Sun, 25 Aug 2013 06:02:15 +0000 (02:02 -0400)
committerRich Felker <dalias@aerifal.cx>
Sun, 25 Aug 2013 06:02:15 +0000 (02:02 -0400)
this is a nonstandard extension but will be required in the next
version of POSIX, and it's widely used/useful in shell scripts
utilizing the date utility.

src/time/strftime.c

index 4039d74..dac6403 100644 (file)
@@ -6,6 +6,7 @@
 #include <time.h>
 #include <limits.h>
 #include "libc.h"
+#include "time_impl.h"
 
 const char *__nl_langinfo_l(nl_item, locale_t);
 
@@ -123,6 +124,9 @@ const char *__strftime_fmt_1(char (*s)[100], size_t *l, int f, const struct tm *
        case 'R':
                fmt = "%H:%M";
                goto recu_strftime;
+       case 's':
+               val = __tm_to_secs(tm) + tm->__tm_gmtoff;
+               goto number;
        case 'S':
                val = tm->tm_sec;
                goto number;