00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef UDATEINTERVALFORMAT_H
00011 #define UDATEINTERVALFORMAT_H
00012
00013 #include "unicode/utypes.h"
00014
00015 #if !UCONFIG_NO_FORMATTING
00016
00017 #include "unicode/ucal.h"
00018 #include "unicode/umisc.h"
00019 #include "unicode/localpointer.h"
00020 #include "unicode/uformattedvalue.h"
00021
00083 struct UDateIntervalFormat;
00084 typedef struct UDateIntervalFormat UDateIntervalFormat;
00086 struct UFormattedDateInterval;
00091 typedef struct UFormattedDateInterval UFormattedDateInterval;
00092
00117 U_STABLE UDateIntervalFormat* U_EXPORT2
00118 udtitvfmt_open(const char* locale,
00119 const UChar* skeleton,
00120 int32_t skeletonLength,
00121 const UChar* tzID,
00122 int32_t tzIDLength,
00123 UErrorCode* status);
00124
00131 U_STABLE void U_EXPORT2
00132 udtitvfmt_close(UDateIntervalFormat *formatter);
00133
00143 U_CAPI UFormattedDateInterval* U_EXPORT2
00144 udtitvfmt_openResult(UErrorCode* ec);
00145
00168 U_CAPI const UFormattedValue* U_EXPORT2
00169 udtitvfmt_resultAsValue(const UFormattedDateInterval* uresult, UErrorCode* ec);
00170
00177 U_CAPI void U_EXPORT2
00178 udtitvfmt_closeResult(UFormattedDateInterval* uresult);
00179
00180
00181 #if U_SHOW_CPLUSPLUS_API
00182
00183 U_NAMESPACE_BEGIN
00184
00194 U_DEFINE_LOCAL_OPEN_POINTER(LocalUDateIntervalFormatPointer, UDateIntervalFormat, udtitvfmt_close);
00195
00205 U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedDateIntervalPointer, UFormattedDateInterval, udtitvfmt_closeResult);
00206
00207 U_NAMESPACE_END
00208
00209 #endif
00210
00211
00241 U_STABLE int32_t U_EXPORT2
00242 udtitvfmt_format(const UDateIntervalFormat* formatter,
00243 UDate fromDate,
00244 UDate toDate,
00245 UChar* result,
00246 int32_t resultCapacity,
00247 UFieldPosition* position,
00248 UErrorCode* status);
00249
00250
00251 #ifndef U_HIDE_DRAFT_API
00252
00268 U_DRAFT void U_EXPORT2
00269 udtitvfmt_formatToResult(
00270 const UDateIntervalFormat* formatter,
00271 UDate fromDate,
00272 UDate toDate,
00273 UFormattedDateInterval* result,
00274 UErrorCode* status);
00275
00293 U_DRAFT void U_EXPORT2
00294 udtitvfmt_formatCalendarToResult(
00295 const UDateIntervalFormat* formatter,
00296 UCalendar* fromCalendar,
00297 UCalendar* toCalendar,
00298 UFormattedDateInterval* result,
00299 UErrorCode* status);
00300 #endif
00301
00302
00303 #endif
00304
00305 #endif