ICU 73.2  73.2
udateintervalformat.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 *****************************************************************************************
00005 * Copyright (C) 2010-2012,2015 International Business Machines
00006 * Corporation and others. All Rights Reserved.
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 /* #if !UCONFIG_NO_FORMATTING */
00331 
00332 #endif