Lines Matching defs:month
127 /* M is a char or int claiming to be a valid month. The macro is equivalent
208 /* For each month ordinal in 1..12, the number of days in that month,
209 * and the number of days before that month in the same year. These
235 /* year, month -> number of days in that month in that year */
237 days_in_month(int year, int month)
239 assert(month >= 1);
240 assert(month <= 12);
241 if (month == 2 && is_leap(year))
244 return _days_in_month[month];
247 /* year, month -> number of days in year preceding first day of month */
249 days_before_month(int year, int month)
253 assert(month >= 1);
254 assert(month <= 12);
255 days = _days_before_month[month];
256 if (month > 2 && is_leap(year))
283 /* ordinal -> year, month, day, considering 01-Jan-0001 as day 1. */
285 ord_to_ymd(int ordinal, int *year, int *month, int *day)
342 *month = 12;
348 * find the month via an estimate that's either exact or one too
353 *month = (n + 50) >> 5;
354 preceding = (_days_before_month[*month] + (*month > 2 && leapyear));
357 *month -= 1;
358 preceding -= days_in_month(*year, *month);
362 assert(n < days_in_month(*year, *month));
367 /* year, month, day -> ordinal, considering 01-Jan-0001 as day 1. */
369 ymd_to_ord(int year, int month, int day)
371 return days_before_year(year) + days_before_month(year, month) + day;
376 weekday(int year, int month, int day)
378 return (ymd_to_ord(year, month, day) + 6) % 7;
400 int *year, int *month, int *day) {
426 ord_to_ymd(day_1 + day_offset, year, month, day);
453 check_date_args(int year, int month, int day)
460 if (month < 1 || month > 12) {
462 "month must be in 1..12");
465 if (day < 1 || day > days_in_month(year, month)) {
467 "day is out of range for month");
567 int dim; /* # of days in month */
569 /* In actual use, m is always the month component extracted from a
582 /* Move day-1 days from the first of the month. First try to
632 normalize_date(int *year, int *month, int *day)
634 return normalize_y_m_d(year, month, day);
641 normalize_datetime(int *year, int *month, int *day,
649 return normalize_date(year, month, day);
737 parse_isoformat_date(const char *dtstr, const size_t len, int *year, int *month, int *day)
785 int rv = iso_to_ymd(*year, iso_week, iso_day, year, month, day);
793 p = parse_digits(p, month, 2);
945 new_date_ex(int year, int month, int day, PyTypeObject *type)
949 if (check_date_args(year, month, day) < 0) {
955 set_date_fields(self, year, month, day);
959 #define new_date(year, month, day) \
960 new_date_ex(year, month, day, &PyDateTime_DateType)
968 new_date_subclass_ex(int year, int month, int day, PyObject *cls)
973 result = new_date_ex(year, month, day, (PyTypeObject *)cls);
976 result = new_datetime_ex(year, month, day, 0, 0, 0, 0, Py_None,
980 result = PyObject_CallFunction(cls, "iii", year, month, day);
988 new_datetime_ex2(int year, int month, int day, int hour, int minute,
994 if (check_date_args(year, month, day) < 0) {
1007 set_date_fields((PyDateTime_Date *)self, year, month, day);
1022 new_datetime_ex(int year, int month, int day, int hour, int minute,
1025 return new_datetime_ex2(year, month, day, hour, minute, second, usecond,
1034 new_datetime_subclass_fold_ex(int year, int month, int day, int hour, int minute,
1040 dt = new_datetime(year, month, day, hour, minute, second, usecond,
1046 month,
1059 new_datetime_subclass_ex(int year, int month, int day, int hour, int minute,
1062 return new_datetime_subclass_fold_ex(year, month, day, hour, minute,
2876 {"month", (getter)date_month},
2883 static char *date_kws[] = {"year", "month", "day", NULL};
2904 int month;
2943 &year, &month, &day)) {
2944 self = new_date_ex(year, month, day, type);
3042 int month;
3049 ord_to_ymd(ordinal, &year, &month, &day);
3050 result = new_date_subclass_ex(year, month, day, cls);
3075 int year = 0, month = 0, day = 0;
3079 rv = parse_isoformat_date(dt_ptr, len, &year, &month, &day);
3089 return new_date_subclass_ex(year, month, day, cls);
3122 int month;
3123 int rv = iso_to_ymd(year, week, day, &year, &month, &day);
3137 return new_date_subclass_ex(year, month, day, cls);
3153 int month = GET_MONTH(date);
3158 if (normalize_date(&year, &month, &day) >= 0)
3159 result = new_date_subclass_ex(year, month, day,
3489 int month = GET_MONTH(self);
3493 &year, &month, &day))
3495 tuple = Py_BuildValue("iii", year, month, day);
3623 PyDoc_STR("date(year, month, day) --> date object");
4448 1900, 1, 1, /* year, month, day */
4821 /* Accessor properties. Properties for day, month, and year are inherited
4878 "year", "month", "day", "hour", "minute", "second",
4920 int month;
4969 &year, &month, &day, &hour, &minute,
4971 self = new_datetime_ex2(year, month, day,
4989 utc_to_seconds(int year, int month, int day,
5000 ordinal = ymd_to_ord(year, month, day);
5035 int year, month, day, hour, minute, second, fold = 0;
5041 month = tm.tm_mon + 1;
5072 result_seconds = utc_to_seconds(year, month, day,
5091 return new_datetime_subclass_fold_ex(year, month, day, hour, minute,
5468 int year = 0, month = 0, day = 0;
5473 int rv = parse_isoformat_date(p, separator_location, &year, &month, &day);
5508 PyObject *dt = new_datetime_subclass_ex(year, month, day, hour, minute,
5572 int month = GET_MONTH(date);
5581 if (normalize_datetime(&year, &month, &day,
5586 return new_datetime_subclass_ex(year, month, day,
6176 local_to_seconds(int year, int month, int day,
6328 local_to_seconds(int year, int month, int day,
6332 t = utc_to_seconds(year, month, day, hour, minute, second);
6556 PyDoc_STR("Return date object with same year, month and day.")},
6611 PyDoc_STR("datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])\n\
6613 The year, month and day arguments are required. tzinfo may be None, or an\n\