fxlibc/src/libc/time/asctime.c

22 lines
646 B
C

#include <time.h>
#include <stdio.h>
static const char wday_name[8][3] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "???"
};
static const char mon_name[13][3] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "???"
};
char *asctime(const struct tm *time)
{
int wday = ((unsigned int)time->tm_wday < 7) ? time->tm_wday : 7;
int mon = ((unsigned int)time->tm_mon < 12) ? time->tm_mon : 12;
static char str[26];
sprintf(str, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n",
wday_name[wday], mon_name[mon], time->tm_mday, time->tm_hour,
time->tm_min, time->tm_sec, time->tm_year + 1900);
return str;
}