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/uformattedvalue.h"
00020 #include "unicode/udisplaycontext.h"
00021
00022 #if U_SHOW_CPLUSPLUS_API
00023 #include "unicode/localpointer.h"
00024 #endif // U_SHOW_CPLUSPLUS_API
00025
00087 struct UDateIntervalFormat;
00088 typedef struct UDateIntervalFormat UDateIntervalFormat;
00090 struct UFormattedDateInterval;
00095 typedef struct UFormattedDateInterval UFormattedDateInterval;
00096
00121 U_CAPI UDateIntervalFormat* U_EXPORT2
00122 udtitvfmt_open(const char* locale,
00123 const UChar* skeleton,
00124 int32_t skeletonLength,
00125 const UChar* tzID,
00126 int32_t tzIDLength,
00127 UErrorCode* status);
00128
00135 U_CAPI void U_EXPORT2
00136 udtitvfmt_close(UDateIntervalFormat *formatter);
00137
00147 U_CAPI UFormattedDateInterval* U_EXPORT2
00148 udtitvfmt_openResult(UErrorCode* ec);
00149
00172 U_CAPI const UFormattedValue* U_EXPORT2
00173 udtitvfmt_resultAsValue(const UFormattedDateInterval* uresult, UErrorCode* ec);
00174
00181 U_CAPI void U_EXPORT2
00182 udtitvfmt_closeResult(UFormattedDateInterval* uresult);
00183
00184
00185 #if U_SHOW_CPLUSPLUS_API
00186
00187 U_NAMESPACE_BEGIN
00188
00198 U_DEFINE_LOCAL_OPEN_POINTER(LocalUDateIntervalFormatPointer, UDateIntervalFormat, udtitvfmt_close);
00199
00209 U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedDateIntervalPointer, UFormattedDateInterval, udtitvfmt_closeResult);
00210
00211 U_NAMESPACE_END
00212
00213 #endif
00214
00215
00245 U_CAPI int32_t U_EXPORT2
00246 udtitvfmt_format(const UDateIntervalFormat* formatter,
00247 UDate fromDate,
00248 UDate toDate,
00249 UChar* result,
00250 int32_t resultCapacity,
00251 UFieldPosition* position,
00252 UErrorCode* status);
00253
00254
00271 U_CAPI void U_EXPORT2
00272 udtitvfmt_formatToResult(
00273 const UDateIntervalFormat* formatter,
00274 UDate fromDate,
00275 UDate toDate,
00276 UFormattedDateInterval* result,
00277 UErrorCode* status);
00278
00296 U_CAPI void U_EXPORT2
00297 udtitvfmt_formatCalendarToResult(
00298 const UDateIntervalFormat* formatter,
00299 UCalendar* fromCalendar,
00300 UCalendar* toCalendar,
00301 UFormattedDateInterval* result,
00302 UErrorCode* status);
00303
00315 U_CAPI void U_EXPORT2
00316 udtitvfmt_setContext(UDateIntervalFormat* formatter, UDisplayContext value, UErrorCode* status);
00317
00327 U_CAPI UDisplayContext U_EXPORT2
00328 udtitvfmt_getContext(const UDateIntervalFormat* formatter, UDisplayContextType type, UErrorCode* status);
00329
00330 #endif
00331
00332 #endif