commit 7b349dd

default  ·  2023-05-08 07:30:26 +0000 UTC
parent 6bad235
Backport from xs.
2 files changed,  +14, -1
+13, -0
 1@@ -12,6 +12,7 @@ xs_str *xs_str_time(time_t t, const char *fmt, int local);
 2 time_t xs_parse_time(const char *str, const char *fmt, int local);
 3 #define xs_parse_localtime(str, fmt) xs_parse_time(str, fmt, 1)
 4 #define xs_parse_utctime(str, fmt) xs_parse_time(str, fmt, 0)
 5+xs_str *xs_str_time_diff(time_t time_diff);
 6 
 7 #ifdef XS_IMPLEMENTATION
 8 
 9@@ -37,6 +38,18 @@ xs_str *xs_str_time(time_t t, const char *fmt, int local)
10 }
11 
12 
13+xs_str *xs_str_time_diff(time_t time_diff)
14+/* returns time_diff in seconds to 'human' units (d:hh:mm:ss) */
15+{
16+    int secs  = time_diff % 60;
17+    int mins  = (time_diff /= 60) % 60;
18+    int hours = (time_diff /= 60) % 24;
19+    int days  = (time_diff /= 24);
20+
21+    return xs_fmt("%d:%02d:%02d:%02d", days, hours, mins, secs);
22+}
23+
24+
25 char *strptime(const char *s, const char *format, struct tm *tm);
26 
27 time_t xs_parse_time(const char *str, const char *fmt, int local)
+1, -1
1@@ -1 +1 @@
2-/* dfdd729248d7169b80cb6a7462fe6c0ba6efeb16 */
3+/* b4f118990f3b8327a033a28bd9ca687c75b23dee */