Lines Matching refs:tm

49 static int month_days P((struct tm const*));
75 month_days(tm)
76 struct tm const *tm;
78 int m = tm->tm_mon;
80 + (m==1 && isleap(tm->tm_year + TM_YEAR_ORIGIN));
84 * Convert UNIXTIME to struct tm form.
87 struct tm *
92 struct tm *tm;
98 if (localzone || !(tm = gmtime(&unixtime)))
99 tm = localtime(&unixtime);
100 return tm;
106 struct tm const *a, *b;
137 register struct tm *t;
193 tm2time(tm, localzone)
194 struct tm *tm;
197 /* Cache the most recent t,tm pairs; 1 for gmtime, 1 for localtime. */
199 static struct tm tm_cache[2];
202 struct tm const *gtm;
211 if (12 <= (unsigned)tm->tm_mon)
214 tm->tm_yday = month_yday[tm->tm_mon] + tm->tm_mday
215 - (tm->tm_mon<2 || ! isleap(tm->tm_year + TM_YEAR_ORIGIN));
222 while ((d = difftm(tm, gtm)) != 0) {
234 * or tm may have members out of range (e.g. bad leap seconds).
236 if ( (tm->tm_year ^ gtm->tm_year)
237 | (tm->tm_mon ^ gtm->tm_mon)
238 | (tm->tm_mday ^ gtm->tm_mday)
239 | (tm->tm_hour ^ gtm->tm_hour)
240 | (tm->tm_min ^ gtm->tm_min)
241 | (tm->tm_sec ^ gtm->tm_sec))
244 tm->tm_wday = gtm->tm_wday;
261 struct tm tm;
262 struct tm *tm0 = 0;
268 tm = pt->tm;
270 if (TM_DEFINED(pt->ymodulus) || !TM_DEFINED(tm.tm_year)) {
271 /* Get tm corresponding to current time. */
278 tm.tm_year +=
280 else if (!TM_DEFINED(tm.tm_year)) {
282 tm.tm_year = tm0->tm_year + TM_YEAR_ORIGIN;
283 if (!TM_DEFINED(tm.tm_mon)) {
284 tm.tm_mon = tm0->tm_mon;
285 if (!TM_DEFINED(tm.tm_mday))
286 tm.tm_mday = tm0->tm_mday;
291 tm.tm_year -= TM_YEAR_ORIGIN;
294 if (!TM_DEFINED(tm.tm_mon)) tm.tm_mon = 0;
295 if (!TM_DEFINED(tm.tm_mday)) tm.tm_mday = 1;
296 if (!TM_DEFINED(tm.tm_hour)) tm.tm_hour = 0;
297 if (!TM_DEFINED(tm.tm_min)) tm.tm_min = 0;
298 if (!TM_DEFINED(tm.tm_sec)) tm.tm_sec = 0;
301 adjzone(&tm, -pt->zone);
302 wday = tm.tm_wday;
304 /* Convert and fill in the rest of the tm. */
305 r = tm2time(&tm, localzone);
308 if (r != -1 && TM_DEFINED(wday) && wday != tm.tm_wday)