#include #include #define MON_1 "January" #define MON_2 "February" #define MON_3 "March" #define MON_4 "April" #define MON_5 "May" #define MON_6 "June" #define MON_7 "July" #define MON_8 "August" #define MON_9 "September" #define MON_10 "October" #define MON_11 "November" #define MON_12 "December" #define WDAY_1 "Sunday" #define WDAY_2 "Monday" #define WDAY_3 "Tuesday" #define WDAY_4 "Wednesday" #define WDAY_5 "Thursday" #define WDAY_6 "Friday" #define WDAY_7 "Saturday" int main(void) { time_t t = time(NULL); struct tm *t_tm = gmtime(&t); char *t_wday[] = { WDAY_1, WDAY_2, WDAY_3, WDAY_4, WDAY_5, WDAY_6, WDAY_7 }, *t_mon[] = { MON_1, MON_2, MON_3, MON_4, MON_5, MON_6, MON_7, MON_8, MON_9, MON_10, MON_11, MON_12 }, t_arr[sizeof(union { char mon[sizeof MON_1], mon2[sizeof MON_2], mon3[sizeof MON_3], mon4[sizeof MON_4], mon5[sizeof MON_5], mon6[sizeof MON_6], mon7[sizeof MON_7], mon8[sizeof MON_8], mon9[sizeof MON_9], mon10[sizeof MON_10], mon11[sizeof MON_11], mon12[sizeof MON_12]; }) + sizeof(union { char wday[sizeof WDAY_1], wday2[sizeof WDAY_2], wday3[sizeof WDAY_3], wday4[sizeof WDAY_4], wday5[sizeof WDAY_5], wday6[sizeof WDAY_6], wday7[sizeof WDAY_7]; }) + sizeof "00 00:00:00 0000"]; sprintf(t_arr, "%s %s %d %d:%d:%d %d", t_wday[t_tm->tm_wday], t_mon[t_tm->tm_mon], t_tm->tm_mday, t_tm->tm_hour, t_tm->tm_min, t_tm->tm_sec, t_tm->tm_year + 1900); printf("%s\n", t_arr); }