Home | History | Annotate | Download | only in i18n

Lines Matching full:month

75 // Month length for non-leap year
188 int32_t year, month, dom, dow, doy, mid;
189 Grego::timeToFields(time, year, month, dom, dow, doy, mid);
193 appendAsciiDigits(month + 1, 2, str);
228 int32_t year = 0, month = 0, day = 0, hour = 0, min = 0, sec = 0;
251 month = parseAsciiDigits(str, 4, 2, status) - 1; // 0-based
262 int32_t maxDayOfMonth = Grego::monthLength(year, month);
263 if (year < 0 || month < 0 || month > 11 || day < 1 || day > maxDayOfMonth ||
276 UDate time = Grego::fieldsToDay(year, month, day) * U_MILLIS_PER_DAY;
371 * month calculated by BYMONTH-1, or -1 when not found
374 * dom an array of day of month
378 static void parseRRULE(const UnicodeString& rrule, int32_t& month, int32_t& dow, int32_t& wim,
385 month = -1;
429 // Note: BYMONTH may contain multiple months, but only single month make sense for
434 month = parseAsciiDigits(value, 0, value.length(), status) - 1;
435 if (U_FAILURE(status) || month < 0 || month >= 12) {
481 // the last day in a month
537 int32_t month, dayOfWeek, nthDayOfWeek, dayOfMonth = 0;
542 parseRRULE(rrule, month, dayOfWeek, nthDayOfWeek, days, daysCount, until, status);
551 if (daysCount != 7 || month == -1 || dayOfWeek == 0) {
556 int32_t firstDay = 31; // max possible number of dates in a month
562 days[i] = MONTHLENGTH[month] + days[i] + 1;
588 if (month == -1 || dayOfWeek == 0 || daysCount == 0) {
593 // We can only support 7 continuous days starting from a day of month.
600 // checking across month boundary
602 int32_t earliestMonth = month;
606 dom = dom > 0 ? dom : MONTHLENGTH[month] + dom + 1;
640 // Check if the month is same or right next to the primary month
641 if (tmp_month != month) {
643 int32_t diff = tmp_month - month;
645 // Previous month
651 // Next month
657 } else if (tmp_month != month && tmp_month != anotherMonth) {
662 // If ealier month, go through days to find the earliest day
675 month = earliestMonth;
683 if (month == -1) {
684 // If BYMONTH is not set, use the month of DTSTART
685 month = startMonth;
702 // Day in month rule, for example, 15th day in the month
703 adtr = new DateTimeRule(month, dayOfMonth, startMID, DateTimeRule::WALL_TIME);
706 adtr = new DateTimeRule(month, nthDayOfWeek, dayOfWeek, startMID, DateTimeRule::WALL_TIME);
708 // First day of week after day of month rule, for example,
709 // first Sunday after 15th day in the month
710 adtr = new DateTimeRule(month, dayOfMonth, dayOfWeek, TRUE, startMID, DateTimeRule::WALL_TIME);
760 * Check if the DOW rule specified by month, weekInMonth and dayOfWeek is equivalent
763 static UBool isEquivalentDateRule(int32_t month, int32_t weekInMonth, int32_t dayOfWeek, const DateTimeRule *dtrule) {
764 if (month != dtrule->getRuleMonth() || dayOfWeek != dtrule->getRuleDayOfWeek()) {
780 if (month != UCAL_FEBRUARY && (MONTHLENGTH[month] - ruleDOM)%7 == 6
781 && weekInMonth == -1*((MONTHLENGTH[month]-ruleDOM+1)/7)) {
789 if (month != UCAL_FEBRUARY && (MONTHLENGTH[month] - ruleDOM)%7 == 0
790 && weekInMonth == -1*((MONTHLENGTH[month] - ruleDOM)/7 + 1)) {
813 int32_t month = -1, dom = 0, dow = 0;
824 month = rule->getRuleMonth();
838 dom = MONTHLENGTH[month] + 7 * (wim + 1);
844 month--;
845 month = month < UCAL_JANUARY ? UCAL_DECEMBER : month;
846 dom = MONTHLENGTH[month];
847 } else if (dom > MONTHLENGTH[month]) {
848 month++;
849 month = month > UCAL_DECEMBER ? UCAL_JANUARY : month;
865 modifiedRule = new DateTimeRule(month, dom, wallt, DateTimeRule::WALL_TIME);
867 modifiedRule = new DateTimeRule(month, dom, dow,
1146 VTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
1148 return tz->getOffset(era, year, month, day, dayOfWeek, millis, status);
1152 VTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day,
1155 return tz->getOffset(era, year, month, day, dayOfWeek, millis, monthLength, status);
1900 int32_t year, month, dom, dow, doy, mid;
1920 Grego::timeToFields(tzt.getTime() + fromOffset, year, month, dom, dow, doy, mid);
1921 int32_t weekInMonth = Grego::dayOfWeekInMonth(year, month, dom);
1935 && dstMonth == month
1964 dstMonth = month;
1986 && stdMonth == month
2015 stdMonth = month;
2210 int32_t month, int32_t dayOfMonth, UDate startTime, UDate untilTime,
2219 beginRRULE(writer, month, status);
2244 int32_t month, int32_t weekInMonth, int32_t dayOfWeek,
2253 beginRRULE(writer, month, status);
2280 int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
2289 month, (dayOfMonth + 6)/7, dayOfWeek, startTime, untilTime, status);
2293 } else if (month != UCAL_FEBRUARY && (MONTHLENGTH[month] - dayOfMonth)%7 == 6) {
2296 month, -1*((MONTHLENGTH[month] - dayOfMonth + 1)/7), dayOfWeek, startTime, untilTime, status);
2306 // Check if all days are in the same month
2311 // The start day is in previous month
2315 int32_t prevMonth = (month - 1) < 0 ? 11 : month - 1;
2328 } else if (dayOfMonth + 6 > MONTHLENGTH[month]) {
2329 // Note: This code does not actually work well in February. For now, days in month in
2331 int32_t nextMonthDays = dayOfMonth + 6 - MONTHLENGTH[month];
2334 int32_t nextMonth = (month + 1) > 11 ? 0 : month + 1;
2342 writeZonePropsByDOW_GEQ_DOM_sub(writer, month, startDay, dayOfWeek, currentMonthDays,
2355 VTimeZone::writeZonePropsByDOW_GEQ_DOM_sub(VTZWriter& writer, int32_t month, int32_t dayOfMonth,
2363 UBool isFeb = (month == UCAL_FEBRUARY);
2366 startDayNum = MONTHLENGTH[month] + dayOfMonth + 1;
2368 beginRRULE(writer, month, status);
2404 int32_t month, int32_t dayOfMonth, int32_t dayOfWeek,
2413 month, dayOfMonth/7, dayOfWeek, startTime, untilTime, status);
2414 } else if (month != UCAL_FEBRUARY && (MONTHLENGTH[month] - dayOfMonth)%7 == 0){
2417 month, -1*((MONTHLENGTH[month] - dayOfMonth)/7 + 1), dayOfWeek, startTime, untilTime, status);
2418 } else if (month == UCAL_FEBRUARY && dayOfMonth == 29) {
2425 month, dayOfMonth - 6, dayOfWeek, startTime, untilTime, status);
2541 VTimeZone::beginRRULE(VTZWriter& writer, int32_t month, UErrorCode& status) const {
2554 appendAsciiDigits(month + 1, 0, dstr);