summaryrefslogtreecommitdiff
path: root/src/myctime.c
blob: 69d70047b28a42fdc23ac3c92ffe598f3259cbbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "myctime.h"

#include "fmt.h"

#include "datetime.h"

static const char *daytab[7] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
static const char *montab[12] = {
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

static char result[30];

char *myctime(datetime_sec t)
{
  struct datetime dt;
  unsigned int len;
  datetime_tai(&dt, t);
  len = 0;
  len += fmt_str(result + len, daytab[dt.wday]);
  result[len++] = ' ';
  len += fmt_str(result + len, montab[dt.mon]);
  result[len++] = ' ';
  len += fmt_uint0(result + len, dt.mday, 2);
  result[len++] = ' ';
  len += fmt_uint0(result + len, dt.hour, 2);
  result[len++] = ':';
  len += fmt_uint0(result + len, dt.min, 2);
  result[len++] = ':';
  len += fmt_uint0(result + len, dt.sec, 2);
  result[len++] = ' ';
  len += fmt_uint(result + len, 1900 + dt.year);
  result[len++] = '\n';
  result[len++] = 0;
  return result;
}