Lines Matching +full:not +full:- +full:date

4 * Copyright (C) 2008-2016, International Business Machines Corporation and
23 * \brief C++ API: Format and parse date interval in a language-independent manner.
43 * An immutable class containing the result of a date interval formatting operation.
45 * Instances of this class are immutable and thread-safe.
55 * Not intended for public subclassing.
79 /** Copying not supported; use move constructor instead. */
82 /** Copying not supported; use move assignment instead. */
115 * DateIntervalFormat is a class for formatting and parsing date
116 * intervals in a language-independent manner.
117 * Only formatting is supported, parsing is not supported.
120 * Date interval means from one date to another date,
129 * For example, the date interval format from "Jan 11, 2008" to "Jan 18,. 2008"
130 * is "Jan 11-18, 2008" for English.
132 * although initially, parsing is not supported.
135 * There is no structural information in date time patterns.
136 * For any punctuations and string literals inside a date time pattern,
137 * we do not know whether it is just a separator, or a prefix, or a suffix.
138 * Without such information, so, it is difficult to generate a sub-pattern
139 * (or super-pattern) by algorithm.
140 * So, formatting a DateInterval is pattern-driven. It is very
142 * We introduce class DateIntervalInfo to save date interval
143 * patterns, similar to date time pattern in SimpleDateFormat.
165 * For those non-digit calendar fields, the pattern letter length is
171 * in date time patterns, will be returned without honor the field pattern
176 * year, month, date, day-of-week, am-pm, hour, hour-of-day, minute, second,
178 * (though we do not currently have specific intervalFormat date for skeletons
181 * year > month > date > hour (in day) > minute > second > millisecond
190 * For other calendar fields, the compact interval formatting is not
191 * supported. And the interval format will be fall back to fall-back
192 * patterns, which is mostly "{date0} - {date1}".
195 * There is a set of pre-defined static skeleton strings.
196 * There are pre-defined interval patterns for those pre-defined skeletons
200 * is "year", the date interval pattern is "MMM d, yyyy - MMM d, yyyy",
201 * such as "Jan 10, 2007 - Jan 10, 2008".
203 * the date interval pattern is "MMM d - MMM d, yyyy",
204 * such as "Jan 10 - Feb 10, 2007".
206 * the date interval pattern is "MMM d-d, yyyy", such as "Jan 10-20, 2007".
208 * For date skeleton, the interval patterns when year, or month, or date is
214 * If a skeleton is not found in a locale's DateIntervalInfo, which means
215 * the interval patterns for the skeleton is not defined in resource file,
218 * If the interval "fallback" pattern is not defined, the default fall-back
219 * is "{date0} - {data1}".
222 * For the combination of date and time,
226 * when the year, month, or day differs, falls back to fall-back
231 * "Jan 10, 2007 10:10 am - Jan 11, 2007 10:10am"
234 * otherwise, present the date followed by the range expression
237 * to "Jan 10, 2007 11:10am" is "Jan 10, 2007 10:10 am - 11:10am"
243 * If two dates are the same, the interval pattern is the single date pattern.
248 * the interval pattern is the single date pattern.
254 * formatting: time zone, calendar type, pattern, date format symbols,
255 * and date interval patterns.
260 * Users are encouraged to created date interval formatter this way and
261 * to use the pre-defined skeleton macros, such as
272 * DateIntervalInfo provides the date interval patterns.
285 * // the date interval object which the DateIntervalFormat formats on
295 * dtIntervalFmt->format(dtInterval, dateIntervalUnicodeString, pos, status);
313 * @return a date time interval formatter which the caller owns.
324 * the date interval pattern information is load from resource files.
325 * Users are encouraged to created date interval formatter this way and
326 * to use the pre-defined skeleton macros.
329 * There are pre-defined skeletons (defined in udate.h) having predefined
339 * "EEE, d MMM, yyyy - EEE, d MMM, yyyy" for year differs,
340 * "EEE, d MMM - EEE, d MMM, yyyy" for month differs,
341 * "EEE, d - EEE, d MMM, yyyy" for day differs,
345 * @return a date time interval formatter which the caller owns.
371 * @return a date time interval formatter which the caller owns.
384 * In this factory method, user provides its own date interval pattern
385 * information, instead of using those pre-defined data in resource file.
389 * There are pre-defined skeletons (defined in udate.h) having predefined
402 * field is not found ( if user not set it ), interval format fallback to
404 * If user does not provide default interval pattern, it fallback to
405 * "{date0} - {date1}"
411 * @return a date time interval formatter which the caller owns.
449 * Return true if the given Format objects are not semantically equal.
452 * @return true if the given Format objects are not semantically equal.
463 * If a the Formattable object type is not a DateInterval,
523 * Note: "fromCalendar" and "toCalendar" are not const,
524 * since calendar is not const in SimpleDateFormat::format(Calendar&),
526 * @param fromCalendar calendar set to the from date in date interval
527 * to be formatted into date interval string
528 * @param toCalendar calendar set to the to date in date interval
529 * to be formatted into date interval string
554 * Note: "fromCalendar" and "toCalendar" are not const,
555 * since calendar is not const in SimpleDateFormat::format(Calendar&),
557 * @param fromCalendar calendar set to the from date in date interval
558 * to be formatted into date interval string
559 * @param toCalendar calendar set to the to date in date interval
560 * to be formatted into date interval string
571 * Date interval parsing is not supported. Please do not use.
574 * date time interval strings into Formattable objects with
602 * Gets the date time interval patterns.
603 * @return the date time interval patterns associated with
604 * this date interval formatter.
611 * Set the date time interval patterns.
621 * Gets the date formatter. The DateIntervalFormat instance continues to own
623 * during format operations. In a multi-threaded environment, the returned
628 * @return the date formatter associated with this date interval formatter.
642 * caller no longer owns the TimeZone object and should not delete it after this call.
688 * . if (polymorphic_pointer->getDynamicClassID() ==
698 * method is to implement a simple version of RTTI, since not all C++
726 * This is for ICU internal use only. Please do not use.
728 * Interval pattern consists of 2 single date patterns and the separator.
729 * For example, interval pattern "MMM d - MMM d, yyyy" consists
730 * a single date pattern "MMM d", another single date pattern "MMM d, yyyy",
731 * and a separator "-".
733 * the first part is "MMM d - ", and the second part is "MMM d, yyyy".
734 * Also, the first date appears in an interval pattern could be
735 * the earlier date or the later date.
742 * Whether the first date in interval pattern is later date or not.
747 * For example, given 2 date, Jan 10, 2007 to Feb 10, 2007.
748 * if the fallback format is "{0} - {1}",
749 * and the pattern is "d MMM - d MMM yyyy", the interval format is
750 * "10 Jan - 10 Feb, 2007".
751 * If the pattern is "latestFirst:d MMM - d MMM yyyy",
752 * the interval format is "10 Feb - 10 Jan, 2007"
768 * full pattern, and date format symbols information.
775 * Caller should not delete them.
777 * @param locale the locale of this date interval formatter.
779 * @param skeleton the skeleton of the date formatter
792 * @param locale the locale of this date interval formatter.
796 * @return a date time interval formatter which the caller owns.
817 * Format 2 Calendars using fall-back interval pattern
819 * The full pattern used in this fall-back format is the
820 * full pattern of the date formatter.
824 * @param fromCalendar calendar set to the from date in date interval
825 * to be formatted into date interval string
826 * @param toCalendar calendar set to the to date in date interval
827 * to be formatted into date interval string
853 * patterns based on date or time only.
854 * It does not have interval patterns based on both date and time.
855 * Interval patterns on both date and time are algorithm generated.
858 * but it does not have interval patterns on skeleton "dMyhm".
860 * The rule to generate interval patterns for both date and time skeleton are
865 * "Jan 10, 2007 10:10 am - Jan 11, 2007 10:10am"
867 * 2) otherwise, present the date followed by the range expression
871 * "Jan 10, 2007 10:10 am - 11:10am"
873 * 2. even a pattern does not request a certain calendar field,
877 * includes year, month, and date when year, month, and date differs.
888 * a skeleton, and a date time pattern generator.
900 * Converts special hour metacharacters (such as 'j') in the skeleton into locale-appropriate
913 * get separated date and time skeleton from a combined skeleton.
915 * The difference between date skeleton and normalizedDateSkeleton are:
928 * @param date Output parameter for date only skeleton.
929 * @param normalizedDate Output parameter for normalized date only
937 UnicodeString& date,
945 * Generate date or time interval pattern from resource,
951 * includes "dMMMy", but not "dMMMMy".
954 * includes "hmv", but not "hmz".
961 * @param dateSkeleton normalized date skeleton
976 * It not only save the interval patterns,
987 * -1 means there are other fields difference
992 * through extending skeleton or not.
1015 * 3.4 do not adjust 'd', 'h', or 'm' if h presents
1016 * 3.5 do not adjust 'M' if it is numeric(?)
1018 * Since date interval format is well-formed format,
1019 * date and time skeletons are normalized previously,
1043 * @param targetString The string to perform the find-replace operation on.
1052 * Concat a single date pattern with a time interval pattern,
1055 * both time and date. Present the date followed by
1057 * @param format date and time format
1058 * @param datePattern date pattern
1098 * @param laterDateFirst whether later date appear first in interval pattern
1111 * @param laterDateFirst whether the first date in intervalPattern
1112 * is earlier date or later date
1124 * Note: "fromCalendar" and "toCalendar" are not const,
1125 * since calendar is not const in SimpleDateFormat::format(Calendar&),
1127 * @param fromCalendar calendar set to the from date in date interval
1128 * to be formatted into date interval string
1129 * @param toCalendar calendar set to the to date in date interval
1130 * to be formatted into date interval string
1133 * @param firstIndex 0 if the first output date is fromCalendar;
1135 * -1 if there is only one date printed.
1174 * The 2 calendars with the from and to date.
1175 * could re-use the calendar in fDateFormat,