ICU 70.1  70.1
udateintervalformat.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *****************************************************************************************
5 * Copyright (C) 2010-2012,2015 International Business Machines
6 * Corporation and others. All Rights Reserved.
7 *****************************************************************************************
8 */
9 
10 #ifndef UDATEINTERVALFORMAT_H
11 #define UDATEINTERVALFORMAT_H
12 
13 #include "unicode/utypes.h"
14 
15 #if !UCONFIG_NO_FORMATTING
16 
17 #include "unicode/ucal.h"
18 #include "unicode/umisc.h"
21 
22 #if U_SHOW_CPLUSPLUS_API
23 #include "unicode/localpointer.h"
24 #endif // U_SHOW_CPLUSPLUS_API
25 
87 struct UDateIntervalFormat;
96 
121 U_CAPI UDateIntervalFormat* U_EXPORT2
122 udtitvfmt_open(const char* locale,
123  const UChar* skeleton,
124  int32_t skeletonLength,
125  const UChar* tzID,
126  int32_t tzIDLength,
127  UErrorCode* status);
128 
135 U_CAPI void U_EXPORT2
137 
149 
172 U_CAPI const UFormattedValue* U_EXPORT2
174 
181 U_CAPI void U_EXPORT2
183 
184 
185 #if U_SHOW_CPLUSPLUS_API
186 
187 U_NAMESPACE_BEGIN
188 
199 
210 
211 U_NAMESPACE_END
212 
213 #endif
214 
215 
245 U_CAPI int32_t U_EXPORT2
247  UDate fromDate,
248  UDate toDate,
249  UChar* result,
250  int32_t resultCapacity,
251  UFieldPosition* position,
252  UErrorCode* status);
253 
254 
271 U_CAPI void U_EXPORT2
273  const UDateIntervalFormat* formatter,
274  UDate fromDate,
275  UDate toDate,
276  UFormattedDateInterval* result,
277  UErrorCode* status);
278 
296 U_CAPI void U_EXPORT2
298  const UDateIntervalFormat* formatter,
299  UCalendar* fromCalendar,
300  UCalendar* toCalendar,
301  UFormattedDateInterval* result,
302  UErrorCode* status);
303 
315 U_CAPI void U_EXPORT2
317 
327 U_CAPI UDisplayContext U_EXPORT2
329 
330 #endif /* #if !UCONFIG_NO_FORMATTING */
331 
332 #endif
"Smart pointer" class, closes a UDateIntervalFormat via udtitvfmt_close().
"Smart pointer" class, closes a UFormattedDateInterval via udtitvfmt_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
A struct representing a range of text containing a specific field.
Definition: umisc.h:34
C API: Calendar.
void * UCalendar
A calendar.
Definition: ucal.h:172
U_CAPI const UFormattedValue * udtitvfmt_resultAsValue(const UFormattedDateInterval *uresult, UErrorCode *ec)
Returns a representation of a UFormattedDateInterval as a UFormattedValue, which can be subsequently ...
U_CAPI UFormattedDateInterval * udtitvfmt_openResult(UErrorCode *ec)
Creates an object to hold the result of a UDateIntervalFormat operation.
struct UFormattedDateInterval UFormattedDateInterval
Opaque struct to contain the results of a UDateIntervalFormat operation.
U_CAPI void udtitvfmt_setContext(UDateIntervalFormat *formatter, UDisplayContext value, UErrorCode *status)
Set a particular UDisplayContext value in the formatter, such as UDISPCTX_CAPITALIZATION_FOR_STANDALO...
U_CAPI UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat *formatter, UDisplayContextType type, UErrorCode *status)
Get the formatter's UDisplayContext value for the specified UDisplayContextType, such as UDISPCTX_TYP...
U_CAPI int32_t udtitvfmt_format(const UDateIntervalFormat *formatter, UDate fromDate, UDate toDate, UChar *result, int32_t resultCapacity, UFieldPosition *position, UErrorCode *status)
Formats a date/time range using the conventions established for the UDateIntervalFormat object.
U_CAPI UDateIntervalFormat * udtitvfmt_open(const char *locale, const UChar *skeleton, int32_t skeletonLength, const UChar *tzID, int32_t tzIDLength, UErrorCode *status)
Open a new UDateIntervalFormat object using the predefined rules for a given locale plus a specified ...
U_CAPI void udtitvfmt_close(UDateIntervalFormat *formatter)
Close a UDateIntervalFormat object.
struct UDateIntervalFormat UDateIntervalFormat
C typedef for struct UDateIntervalFormat.
U_CAPI void udtitvfmt_formatToResult(const UDateIntervalFormat *formatter, UDate fromDate, UDate toDate, UFormattedDateInterval *result, UErrorCode *status)
Formats a date/time range using the conventions established for the UDateIntervalFormat object.
U_CAPI void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat *formatter, UCalendar *fromCalendar, UCalendar *toCalendar, UFormattedDateInterval *result, UErrorCode *status)
Formats a date/time range using the conventions established for the UDateIntervalFormat object.
U_CAPI void udtitvfmt_closeResult(UFormattedDateInterval *uresult)
Releases the UFormattedDateInterval created by udtitvfmt_openResult().
C API: Display context types (enum values)
UDisplayContextType
Display context types, for getting values of a particular setting.
UDisplayContext
Display context settings.
C API: Abstract operations for localized strings.
struct UFormattedValue UFormattedValue
An abstract formatted value: a string with associated field attributes.
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:418
C API:misc definitions.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
double UDate
Date and Time data type.
Definition: utypes.h:203