summaryrefslogtreecommitdiff
path: root/src/libstddjb/localtm_fmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstddjb/localtm_fmt.c')
-rw-r--r--src/libstddjb/localtm_fmt.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libstddjb/localtm_fmt.c b/src/libstddjb/localtm_fmt.c
new file mode 100644
index 0000000..ee083ef
--- /dev/null
+++ b/src/libstddjb/localtm_fmt.c
@@ -0,0 +1,17 @@
+/* ISC license. */
+
+#include <time.h>
+#include <skalibs/uint.h>
+#include <skalibs/djbtime.h>
+
+unsigned int localtm_fmt (char *s, struct tm const *l)
+{
+ char *p = s ;
+ p += uint_fmt(p, 1900 + l->tm_year) ; *p++ = '-' ;
+ uint0_fmt(p, 1 + l->tm_mon, 2) ; p += 2 ; *p++ = '-' ;
+ uint0_fmt(p, l->tm_mday, 2) ; p += 2 ; *p++ = ' ' ;
+ uint0_fmt(p, l->tm_hour, 2) ; p += 2 ; *p++ = ':' ;
+ uint0_fmt(p, l->tm_min, 2) ; p += 2 ; *p++ = ':' ;
+ uint0_fmt(p, l->tm_sec, 2) ; p += 2 ;
+ return p - s ;
+}