Lines Matching refs:time

96time->have_time) { add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification"); timelib_str…
97 #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s …
98 …>time->have_date) { add_error(s, TIMELIB_ERR_DOUBLE_DATE, "Double date specification"); timelib_st…
99 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y …
100 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
101 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekda…
102 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_specia…
103time->have_zone) { s->time->have_zone > 1 ? add_error(s, TIMELIB_ERR_DOUBLE_TZ, "Double timezone s…
107 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { i…
140 timelib_time *time;
727 * the time portion should not be reset to midnight, or
729 * for not overwriting the time portion for 'X weekday'.
740 …case TIMELIB_MICROSEC: add_with_overflow(s, &s->time->relative.us, amount, relunit->multiplier); b…
741 …case TIMELIB_SECOND: add_with_overflow(s, &s->time->relative.s, amount, relunit->multiplier); br…
742 …case TIMELIB_MINUTE: add_with_overflow(s, &s->time->relative.i, amount, relunit->multiplier); br…
743 …case TIMELIB_HOUR: add_with_overflow(s, &s->time->relative.h, amount, relunit->multiplier); br…
744 …case TIMELIB_DAY: add_with_overflow(s, &s->time->relative.d, amount, relunit->multiplier); br…
745 …case TIMELIB_MONTH: add_with_overflow(s, &s->time->relative.m, amount, relunit->multiplier); br…
746 …case TIMELIB_YEAR: add_with_overflow(s, &s->time->relative.y, amount, relunit->multiplier); br…
753 s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
754 s->time->relative.weekday = relunit->multiplier;
755 s->time->relative.weekday_behavior = behavior;
763 s->time->relative.special.type = relunit->multiplier;
764 s->time->relative.special.amount = amount;
1158 s->time->relative.d = -1;
1178 s->time->h = 12;
1201 s->time->relative.d = 1;
1217 s->time->y = 1970;
1218 s->time->m = 1;
1219 s->time->d = 1;
1220 s->time->h = s->time->i = s->time->s = 0;
1221 s->time->us = 0;
1222 s->time->relative.s += i;
1223 s->time->is_localtime = 1;
1224 s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
1225 s->time->z = 0;
1226 s->time->dst = 0;
1256 s->time->y = 1970;
1257 s->time->m = 1;
1258 s->time->d = 1;
1259 s->time->h = s->time->i = s->time->s = 0;
1260 s->time->us = 0;
1261 s->time->relative.s += i;
1262 s->time->relative.us = us;
1263 s->time->is_localtime = 1;
1264 s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
1265 s->time->z = 0;
1266 s->time->dst = 0;
1280 s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
1282 s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
1297 s->time->h = timelib_get_nr(&ptr, 2);
1298 s->time->i = 15;
1300 s->time->h = timelib_get_nr(&ptr, 2) - 1;
1301 s->time->i = 45;
1305 s->time->h += timelib_meridian(&ptr, s->time->h);
1324 s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
1327 s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
1339 s->time->h = timelib_get_nr(&ptr, 2);
1341 s->time->i = timelib_get_nr(&ptr, 2);
1343 s->time->s = timelib_get_nr(&ptr, 2);
1347 s->time->h += timelib_meridian(&ptr, s->time->h);
1357 s->time->h = timelib_get_nr(&ptr, 2);
1358 s->time->i = timelib_get_nr(&ptr, 2);
1360 s->time->s = timelib_get_nr(&ptr, 2);
1363 s->time->us = timelib_get_frac_nr(&ptr);
1367 s->time->h += timelib_meridian(&ptr, s->time->h);
1378 s->time->h = timelib_get_nr(&ptr, 2);
1380 s->time->i = timelib_get_nr(&ptr, 2);
1382 s->time->s = timelib_get_nr(&ptr, 2);
1385 s->time->us = timelib_get_frac_nr(&ptr);
1391 …s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapp…
1404 switch (s->time->have_time) {
1406 s->time->h = timelib_get_nr(&ptr, 2);
1407 s->time->i = timelib_get_nr(&ptr, 2);
1408 s->time->s = 0;
1411 s->time->y = timelib_get_nr(&ptr, 4);
1415 add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
1418 s->time->have_time++;
1427 switch (s->time->have_time) {
1429 s->time->h = timelib_get_nr(&ptr, 2);
1430 s->time->i = timelib_get_nr(&ptr, 2);
1431 s->time->s = 0;
1432 s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, s->tzdb, tz_get_wrapper);
1435 s->time->y = timelib_get_nr(&ptr, 4);
1441 s->time->have_time++;
1452 s->time->h = timelib_get_nr(&ptr, 2);
1453 s->time->i = timelib_get_nr(&ptr, 2);
1454 s->time->s = timelib_get_nr(&ptr, 2);
1457 …s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapp…
1472 s->time->m = timelib_get_nr(&ptr, 2);
1473 s->time->d = timelib_get_nr(&ptr, 2);
1475 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1476 TIMELIB_PROCESS_YEAR(s->time->y, length);
1487 s->time->y = timelib_get_signed_nr(s, &ptr, 4);
1488 s->time->m = timelib_get_nr(&ptr, 2);
1489 s->time->d = timelib_get_nr(&ptr, 2);
1500 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1501 s->time->m = timelib_get_nr(&ptr, 2);
1502 s->time->d = timelib_get_nr(&ptr, 2);
1503 TIMELIB_PROCESS_YEAR(s->time->y, length);
1513 s->time->y = timelib_get_signed_nr(s, &ptr, 19);
1514 s->time->m = timelib_get_nr(&ptr, 2);
1515 s->time->d = timelib_get_nr(&ptr, 2);
1526 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1527 s->time->m = timelib_get_nr(&ptr, 2);
1528 s->time->d = 1;
1529 TIMELIB_PROCESS_YEAR(s->time->y, length);
1540 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1541 s->time->m = timelib_get_nr(&ptr, 2);
1542 s->time->d = timelib_get_nr(&ptr, 2);
1543 TIMELIB_PROCESS_YEAR(s->time->y, length);
1554 s->time->d = timelib_get_nr(&ptr, 2);
1556 s->time->m = timelib_get_month(&ptr);
1557 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1558 TIMELIB_PROCESS_YEAR(s->time->y, length);
1568 s->time->d = timelib_get_nr(&ptr, 2);
1569 s->time->m = timelib_get_nr(&ptr, 2);
1570 s->time->y = timelib_get_nr(&ptr, 4);
1581 s->time->d = timelib_get_nr(&ptr, 2);
1582 s->time->m = timelib_get_nr(&ptr, 2);
1583 s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
1584 TIMELIB_PROCESS_YEAR(s->time->y, length);
1595 s->time->m = timelib_get_month(&ptr);
1596 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1597 s->time->d = 1;
1598 TIMELIB_PROCESS_YEAR(s->time->y, length);
1609 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1610 s->time->m = timelib_get_month(&ptr);
1611 s->time->d = 1;
1612 TIMELIB_PROCESS_YEAR(s->time->y, length);
1623 s->time->m = timelib_get_month(&ptr);
1624 s->time->d = timelib_get_nr(&ptr, 2);
1625 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1626 TIMELIB_PROCESS_YEAR(s->time->y, length);
1636 s->time->d = timelib_get_nr(&ptr, 2);
1638 s->time->m = timelib_get_month(&ptr);
1648 s->time->y = timelib_get_nr(&ptr, 4);
1649 s->time->m = timelib_get_nr(&ptr, 2);
1650 s->time->d = timelib_get_nr(&ptr, 2);
1662 s->time->y = timelib_get_nr(&ptr, 4);
1663 s->time->m = timelib_get_nr(&ptr, 2);
1664 s->time->d = timelib_get_nr(&ptr, 2);
1665 s->time->h = timelib_get_nr(&ptr, 2);
1666 s->time->i = timelib_get_nr(&ptr, 2);
1667 s->time->s = timelib_get_nr(&ptr, 2);
1669 s->time->us = timelib_get_frac_nr(&ptr);
1671 …s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapp…
1687 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1688 s->time->d = timelib_get_nr(&ptr, 3);
1689 s->time->m = 1;
1690 TIMELIB_PROCESS_YEAR(s->time->y, length);
1703 s->time->y = timelib_get_nr(&ptr, 4);
1706 s->time->m = 1;
1707 s->time->d = 1;
1708 s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
1722 s->time->y = timelib_get_nr(&ptr, 4);
1725 s->time->m = 1;
1726 s->time->d = 1;
1727 s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
1739 s->time->m = timelib_get_month(&ptr);
1740 s->time->d = timelib_get_nr(&ptr, 2);
1741 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1742 TIMELIB_PROCESS_YEAR(s->time->y, length);
1753 s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
1754 s->time->m = timelib_get_month(&ptr);
1755 s->time->d = timelib_get_nr(&ptr, 2);
1756 TIMELIB_PROCESS_YEAR(s->time->y, length);
1768 s->time->d = timelib_get_nr(&ptr, 2);
1769 s->time->m = timelib_get_month(&ptr);
1770 s->time->y = timelib_get_nr(&ptr, 4);
1771 s->time->h = timelib_get_nr(&ptr, 2);
1772 s->time->i = timelib_get_nr(&ptr, 2);
1773 s->time->s = timelib_get_nr(&ptr, 2);
1777 …s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapp…
1789 s->time->y = timelib_get_nr(&ptr, 4);
1798 s->time->relative.y = 0 - s->time->relative.y;
1799 s->time->relative.m = 0 - s->time->relative.m;
1800 s->time->relative.d = 0 - s->time->relative.d;
1801 s->time->relative.h = 0 - s->time->relative.h;
1802 s->time->relative.i = 0 - s->time->relative.i;
1803 s->time->relative.s = 0 - s->time->relative.s;
1804 s->time->relative.weekday = 0 - s->time->relative.weekday;
1805 if (s->time->relative.weekday == 0) {
1806 s->time->relative.weekday = -7;
1808 …if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_W…
1809 s->time->relative.special.amount = 0 - s->time->relative.special.amount;
1824 s->time->relative.weekday = relunit->multiplier;
1825 if (s->time->relative.weekday_behavior != 2) {
1826 s->time->relative.weekday_behavior = 1;
1845 s->time->relative.weekday_behavior = 2;
1848 if (s->time->relative.have_weekday_relative == 0) {
1850 s->time->relative.weekday = 1;
1879 s->time->m = timelib_lookup_month(&ptr);
1891 …s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapp…
1904 s->time->m = timelib_get_month(&ptr);
1905 s->time->d = timelib_get_nr(&ptr, 2);
1908 s->time->h = timelib_get_nr(&ptr, 2);
1909 s->time->i = timelib_get_nr(&ptr, 2);
1911 s->time->s = timelib_get_nr(&ptr, 2);
1914 s->time->us = timelib_get_frac_nr(&ptr);
1918 s->time->h += timelib_meridian(&ptr, s->time->h);
1929 s->time->m = timelib_get_month(&ptr);
1930 s->time->d = timelib_get_nr(&ptr, 2);
1933 s->time->h = timelib_get_nr(&ptr, 2);
1934 s->time->i = timelib_get_nr(&ptr, 2);
1936 s->time->s = timelib_get_nr(&ptr, 2);
1939 s->time->us = timelib_get_frac_nr(&ptr);
1944 …s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapp…
2017 in.time = timelib_time_ctor();
2024 …in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->us = in.tim…
2025 in.time->is_localtime = in.time->zone_type = 0;
2026 return in.time;
2035 in.time = timelib_time_ctor();
2036 in.time->y = TIMELIB_UNSET;
2037 in.time->d = TIMELIB_UNSET;
2038 in.time->m = TIMELIB_UNSET;
2039 in.time->h = TIMELIB_UNSET;
2040 in.time->i = TIMELIB_UNSET;
2041 in.time->s = TIMELIB_UNSET;
2042 in.time->us = TIMELIB_UNSET;
2043 in.time->z = TIMELIB_UNSET;
2044 in.time->dst = TIMELIB_UNSET;
2046 in.time->is_localtime = 0;
2047 in.time->zone_type = 0;
2048 in.time->relative.days = TIMELIB_UNSET;
2057 /* do funky checking whether the parsed time was valid time */
2058 if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
2059 add_warning(&in, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid");
2062 if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
2072 return in.time;
2086 static void timelib_time_reset_fields(timelib_time *time)
2088 assert(time != NULL);
2090 time->y = 1970;
2091 time->m = 1;
2092 time->d = 1;
2093 time->h = time->i = time->s = 0;
2094 time->us = 0;
2095 time->tz_info = NULL;
2098 static void timelib_time_reset_unset_fields(timelib_time *time)
2100 assert(time != NULL);
2102 if (time->y == TIMELIB_UNSET ) time->y = 1970;
2103 if (time->m == TIMELIB_UNSET ) time->m = 1;
2104 if (time->d == TIMELIB_UNSET ) time->d = 1;
2105 if (time->h == TIMELIB_UNSET ) time->h = 0;
2106 if (time->i == TIMELIB_UNSET ) time->i = 0;
2107 if (time->s == TIMELIB_UNSET ) time->s = 0;
2108 if (time->us == TIMELIB_UNSET ) time->us = 0;
2206 in.time = timelib_time_ctor();
2207 in.time->y = TIMELIB_UNSET;
2208 in.time->d = TIMELIB_UNSET;
2209 in.time->m = TIMELIB_UNSET;
2210 in.time->h = TIMELIB_UNSET;
2211 in.time->i = TIMELIB_UNSET;
2212 in.time->s = TIMELIB_UNSET;
2213 in.time->us = TIMELIB_UNSET;
2214 in.time->z = TIMELIB_UNSET;
2215 in.time->dst = TIMELIB_UNSET;
2217 in.time->is_localtime = 0;
2218 in.time->zone_type = 0;
2266 in.time->have_relative = 1;
2267 in.time->relative.have_weekday_relative = 1;
2268 in.time->relative.weekday = tmprel->multiplier;
2269 in.time->relative.weekday_behavior = 1;
2276 if ((s->time->d = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
2281 s->time->have_date = 1;
2288 if (s->time->y == TIMELIB_UNSET) {
2296 if (s->time->y != TIMELIB_UNSET) {
2297 s->time->have_date = 1;
2298 s->time->m = 1;
2299 s->time->d = tmp + 1;
2300 timelib_do_normalize(s->time);
2307 if ((s->time->m = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
2311 s->time->have_date = 1;
2321 s->time->have_date = 1;
2322 s->time->m = tmp;
2328 if ((s->time->y = timelib_get_nr_ex(&ptr, 2, &length)) == TIMELIB_UNSET) {
2333 s->time->have_date = 1;
2334 TIMELIB_PROCESS_YEAR(s->time->y, length);
2339 if ((s->time->y = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
2344 s->time->have_date = 1;
2348 if ((s->time->y = timelib_get_signed_nr(s, &ptr, 19)) == TIMELIB_UNSET) {
2353 s->time->have_date = 1;
2358 if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
2362 if (s->time->h > 12) {
2367 s->time->have_time = 1;
2372 if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
2377 s->time->have_time = 1;
2380 if (s->time->h == TIMELIB_UNSET) {
2383 if ((tmp = timelib_meridian_with_check(&ptr, s->time->h)) == TIMELIB_UNSET) {
2388 s->time->have_time = 1;
2389 if (s->time->h != TIMELIB_UNSET) {
2390 s->time->h += tmp;
2405 s->time->have_time = 1;
2406 s->time->i = min;
2421 s->time->have_time = 1;
2422 s->time->s = sec;
2437 s->time->us = (f * pow(10, 6 - (ptr - tptr)));
2452 s->time->us = (f * pow(10, 3 - (ptr - tptr)) * 1000);
2461 s->time->have_zone = 1;
2462 s->time->sse = tmp;
2463 s->time->is_localtime = 1;
2464 s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
2465 s->time->z = 0;
2466 s->time->dst = 0;
2467 timelib_update_from_sse(s->time);
2489 timelib_time_reset_fields(s->time);
2493 timelib_time_reset_unset_fields(s->time);
2527 s->time->have_date = 1;
2540 s->time->have_date = 1;
2552 s->time->have_date = 1;
2558 …s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapp…
2564 s->time->have_zone = 1;
2568 s->time->z = timelib_parse_tz_minutes(&ptr, s->time);
2569 if (s->time->z == TIMELIB_UNSET) {
2574 s->time->have_zone = 1;
2599 timelib_time_reset_fields(s->time);
2603 timelib_time_reset_unset_fields(s->time);
2617 …if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET || s…
2618 if (s->time->h == TIMELIB_UNSET ) {
2619 s->time->h = 0;
2621 if (s->time->i == TIMELIB_UNSET ) {
2622 s->time->i = 0;
2624 if (s->time->s == TIMELIB_UNSET ) {
2625 s->time->s = 0;
2627 if (s->time->us == TIMELIB_UNSET ) {
2628 s->time->us = 0;
2633 …if (s->time->y != TIMELIB_UNSET && (iso_week_of_year != TIMELIB_UNSET || iso_year != TIMELIB_UNSET…
2636 …if (iso_year != TIMELIB_UNSET && (s->time->y != TIMELIB_UNSET || s->time->m != TIMELIB_UNSET || s-…
2649 …e_from_isodate(iso_year, iso_week_of_year, iso_day_of_week, &s->time->y, &s->time->m, &s->time->d);
2654 /* do funky checking whether the parsed time was valid time */
2655 if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
2656 s->time->s != TIMELIB_UNSET &&
2657 !timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
2658 add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid", string, ptr);
2661 if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
2662 s->time->d != TIMELIB_UNSET &&
2663 !timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
2672 return in.time;
2740 timelib_time time = timelib_strtotime("May 12");
2743 time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
2744 if (time.have_relative) {
2746time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative…
2748 if (time.have_weekday_relative) {
2749 printf (" / %d", time.relative.weekday);
2751 if (time.have_weeknr_day) {
2752 printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);