Home | History | Annotate | Download | only in i18n

Lines Matching defs:rule

536     // Parse the first rule
553 // Only support the rule using 7 continuous days
583 // Use DOW_GEQ_DOM rule with firstDay as the start date
587 // Check if BYMONTH + BYMONTHDAY + BYDAY rule with multiple RRULE lines.
599 // Note: To check valid date range across multiple rule is a little
627 // Check if BYMONTH + BYMONTHDAY + BYDAY rule
637 // support the rule
703 // Day in month rule, for example, 15th day in the month
706 // Nth day of week rule, for example, last Sunday
709 // First day of week after day of month rule, for example,
761 * Check if the DOW rule specified by month, weekInMonth and dayOfWeek is equivalent
799 * Convert the rule to its equivalent rule using WALL_TIME mode.
803 static DateTimeRule* toWallTimeRule(const DateTimeRule* rule, int32_t rawOffset, int32_t dstSavings) {
804 if (rule->getTimeRuleType() == DateTimeRule::WALL_TIME) {
807 int32_t wallt = rule->getRuleMillisInDay();
808 if (rule->getTimeRuleType() == DateTimeRule::UTC_TIME) {
810 } else if (rule->getTimeRuleType() == DateTimeRule::STANDARD_TIME) {
825 month = rule->getRuleMonth();
826 dom = rule->getRuleDayOfMonth();
827 dow = rule->getRuleDayOfWeek();
828 dtype = rule->getDateRuleType();
832 // Convert to DOW_GEW_DOM or DOW_LEQ_DOM rule first
833 int32_t wim = rule->getRuleWeekInMonth();
863 // Create a new rule
1366 UBool isRRULE = FALSE; // true if the rule is described by RRULE
1369 UDate firstStart = MAX_MILLIS; // the earliest rule start time
1503 // create a time zone rule
1504 TimeZoneRule *rule = NULL;
1539 // Create the rule
1542 rule = createRuleByRRULE(zonename, rawOffset, dstSavings, start, dates, fromOffset, status);
1544 rule = createRuleByRDATE(zonename, rawOffset, dstSavings, start, dates, fromOffset, status);
1546 if (U_FAILURE(status) || rule == NULL) {
1549 UBool startAvail = rule->getFirstStart(fromOffset, 0, actualStart);
1551 // save from offset information for the earliest rule
1570 rules->addElement(rule, status);
1579 // Must have at least one rule
1584 // Create a initial rule
1619 // Only one final rule, only governs the initial rule,
1621 // add this transition rule
1624 // Normalize the final rule
1629 // Find the last non-final rule
1786 // Create a RuleBasedTimeZone with the subset rule
1849 // Create a RuleBasedTimeZone with the subset rule
2101 // Use a single rule if possible
2106 // Not equivalent rule - write out two different rules
2138 // Use a single rule if possible
2143 // Not equivalent rule - write out two different rules
2244 * Write start times defined by a DOM rule using VTIMEZONE RRULE
2278 * Write start times defined by a DOW rule using VTIMEZONE RRULE
2314 * Write start times defined by a DOW_GEQ_DOM rule using VTIMEZONE RRULE
2324 // Check if this rule can be converted to DOW rule
2326 // Can be represented by DOW rule
2333 // Can be represented by DOW rule with negative week number
2356 // Note: When a rule is separated into two, UNTIL attribute needs to be
2438 * Write start times defined by a DOW_LEQ_DOM rule using VTIMEZONE RRULE
2448 // Check if this rule can be converted to DOW rule
2450 // Can be represented by DOW rule
2454 // Can be represented by DOW rule with negative week number
2462 // Otherwise, convert this to DOW_GEQ_DOM rule
2469 * Write the final time zone rule using RRULE, with no UNTIL attribute
2472 VTimeZone::writeFinalRule(VTZWriter& writer, UBool isDst, const AnnualTimeZoneRule* rule,
2479 const DateTimeRule *dtrule = toWallTimeRule(rule->getRule(), fromRawOffset, fromDSTSavings);
2482 dtrule = rule->getRule();
2485 // If the rule's mills in a day is out of range, adjust start time.
2496 int32_t toOffset = rule->getRawOffset() + rule->getDSTSavings();
2498 rule->getName(name);