Lines Matching refs:tm

20 static int week_num(const struct tm *tm)
22 int val = (tm->tm_yday + 7U - (tm->tm_wday+6U)%7) / 7;
25 if ((tm->tm_wday + 371U - tm->tm_yday - 2) % 7 <= 2)
32 int dec31 = (tm->tm_wday + 7U - tm->tm_yday - 1) % 7;
33 if (dec31 == 4 || (dec31 == 5 && is_leap(tm->tm_year%400-1)))
39 int jan1 = (tm->tm_wday + 371U - tm->tm_yday) % 7;
40 if (jan1 != 4 && (jan1 != 3 || !is_leap(tm->tm_year)))
46 const char *__strftime_fmt_1(char (*s)[100], size_t *l, int f, const struct tm *tm, locale_t loc, int pad)
55 if (tm->tm_wday > 6U) goto string;
56 item = ABDAY_1 + tm->tm_wday;
59 if (tm->tm_wday > 6U) goto string;
60 item = DAY_1 + tm->tm_wday;
64 if (tm->tm_mon > 11U) goto string;
65 item = ABMON_1 + tm->tm_mon;
68 if (tm->tm_mon > 11U) goto string;
69 item = MON_1 + tm->tm_mon;
75 val = (1900LL+tm->tm_year) / 100;
80 val = tm->tm_mday;
90 val = tm->tm_year + 1900LL;
91 if (tm->tm_yday < 3 && week_num(tm) != 1) val--;
92 else if (tm->tm_yday > 360 && week_num(tm) == 1) val++;
97 val = tm->tm_hour;
100 val = tm->tm_hour;
105 val = tm->tm_yday+1;
110 val = tm->tm_hour;
114 val = tm->tm_hour;
122 val = tm->tm_mon+1;
125 val = tm->tm_min;
131 item = tm->tm_hour >= 12 ? PM_STR : AM_STR;
134 item = tm->tm_hour >= 12 ? PM_STR_LOWER : AM_STR_LOWER;
143 val = __tm_to_secs(tm) - tm->__tm_gmtoff;
147 val = tm->tm_sec;
156 val = tm->tm_wday ? tm->tm_wday : 7;
160 val = (tm->tm_yday + 7U - tm->tm_wday) / 7;
163 val = (tm->tm_yday + 7U - (tm->tm_wday+6U)%7) / 7;
169 val = week_num(tm);
172 val = tm->tm_wday;
182 val = (tm->tm_year + 1900LL) % 100;
186 val = tm->tm_year + 1900LL;
194 if (tm->tm_isdst < 0) {
199 tm->__tm_gmtoff/3600*100 + tm->__tm_gmtoff%3600/60);
202 if (tm->tm_isdst < 0) {
206 fmt = __tm_to_tzname(tm);
230 *l = __strftime_l(*s, sizeof *s, fmt, tm, loc);
235 size_t __strftime_l(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm, locale_t loc)
269 t = __strftime_fmt_1(&buf, &k, *f, tm, loc, pad);
280 if (tm->tm_year < -1900) {
301 size_t strftime(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm)
303 return __strftime_l(s, n, f, tm, CURRENT_LOCALE);