#include #include 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; }