Lines Matching +full:- +full:z
4 * SPDX-License-Identifier: Apache-2.0
23 * This converts integral seconds since (before) 1970-01-01T00:00:00
35 static void time_civil_from_days(bigint_type z, in time_civil_from_days() argument
38 tp->tm_wday = (z >= -4) ? ((z + 4) % 7) : ((z + 5) % 7 + 6); in time_civil_from_days()
39 z += 719468; in time_civil_from_days()
41 bigint_type era = ((z >= 0) ? z : (z - 146096)) / 146097; in time_civil_from_days()
42 unsigned int doe = (z - era * (bigint_type)146097); in time_civil_from_days()
43 unsigned int yoe = (doe - doe / 1460U + doe / 36524U - doe / 146096U) in time_civil_from_days()
46 unsigned int doy = doe - (365U * yoe + yoe / 4U - yoe / 100U); in time_civil_from_days()
48 unsigned int d = doy - (153U * mp + 2U) / 5U + 1U; in time_civil_from_days()
49 unsigned int m = mp + ((mp < 10) ? 3 : -9); in time_civil_from_days()
51 tp->tm_year = y + (m <= 2) - 1900; in time_civil_from_days()
52 tp->tm_mon = m - 1; in time_civil_from_days()
53 tp->tm_mday = d; in time_civil_from_days()
56 * doy is relative to --03-01 and we need it relative to in time_civil_from_days()
57 * --01-01. in time_civil_from_days()
59 * doy=306 corresponds to --01-01, doy=364 to --02-28, and in time_civil_from_days()
60 * doy=365 to --02-29. So we can just subtract 306 to handle in time_civil_from_days()
64 * --03-01, which is 59 in a common year and 60 in a leap in time_civil_from_days()
68 tp->tm_yday = doy - 306U; in time_civil_from_days()
70 tp->tm_yday = doy + 59U + (((yoe % 4U == 0U) && (yoe % 100U != 0U)) || (yoe == 0U)); in time_civil_from_days()
76 * This converts integral seconds since (before) 1970-01-01T00:00:00
84 time_t z = *timep; in gmtime_r() local
85 bigint_type days = (z >= 0 ? z : z - 86399) / 86400; in gmtime_r()
86 unsigned int rem = z - days * 86400; in gmtime_r()
92 result->tm_hour = rem / 60U / 60U; in gmtime_r()
93 rem -= result->tm_hour * 60 * 60; in gmtime_r()
94 result->tm_min = rem / 60; in gmtime_r()
95 result->tm_sec = rem - result->tm_min * 60; in gmtime_r()