ICU 57.1
57.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
i18n
unicode
reldatefmt.h
Go to the documentation of this file.
1
/*
2
*****************************************************************************
3
* Copyright (C) 2014-2016, International Business Machines Corporation and
4
* others.
5
* All Rights Reserved.
6
*****************************************************************************
7
*
8
* File RELDATEFMT.H
9
*****************************************************************************
10
*/
11
12
#ifndef __RELDATEFMT_H
13
#define __RELDATEFMT_H
14
15
#include "
unicode/utypes.h
"
16
#include "
unicode/uobject.h
"
17
#include "
unicode/udisplaycontext.h
"
18
#include "
unicode/ureldatefmt.h
"
19
#include "
unicode/locid.h
"
20
26
#if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION
27
33
typedef
enum
UDateRelativeUnit
{
34
39
UDAT_RELATIVE_SECONDS
,
40
45
UDAT_RELATIVE_MINUTES
,
46
51
UDAT_RELATIVE_HOURS
,
52
57
UDAT_RELATIVE_DAYS
,
58
63
UDAT_RELATIVE_WEEKS
,
64
69
UDAT_RELATIVE_MONTHS
,
70
75
UDAT_RELATIVE_YEARS
,
76
81
UDAT_RELATIVE_UNIT_COUNT
82
}
UDateRelativeUnit
;
83
88
typedef
enum
UDateAbsoluteUnit
{
89
90
// Days of week have to remain together and in order from Sunday to
91
// Saturday.
96
UDAT_ABSOLUTE_SUNDAY
,
97
102
UDAT_ABSOLUTE_MONDAY
,
103
108
UDAT_ABSOLUTE_TUESDAY
,
109
114
UDAT_ABSOLUTE_WEDNESDAY
,
115
120
UDAT_ABSOLUTE_THURSDAY
,
121
126
UDAT_ABSOLUTE_FRIDAY
,
127
132
UDAT_ABSOLUTE_SATURDAY
,
133
138
UDAT_ABSOLUTE_DAY
,
139
144
UDAT_ABSOLUTE_WEEK
,
145
150
UDAT_ABSOLUTE_MONTH
,
151
156
UDAT_ABSOLUTE_YEAR
,
157
162
UDAT_ABSOLUTE_NOW
,
163
168
UDAT_ABSOLUTE_UNIT_COUNT
169
}
UDateAbsoluteUnit
;
170
176
typedef
enum
UDateDirection
{
177
182
UDAT_DIRECTION_LAST_2
,
183
188
UDAT_DIRECTION_LAST
,
189
194
UDAT_DIRECTION_THIS
,
195
200
UDAT_DIRECTION_NEXT
,
201
206
UDAT_DIRECTION_NEXT_2
,
207
212
UDAT_DIRECTION_PLAIN
,
213
218
UDAT_DIRECTION_COUNT
219
}
UDateDirection
;
220
221
222
U_NAMESPACE_BEGIN
223
224
class
RelativeDateTimeCacheData;
225
class
SharedNumberFormat;
226
class
SharedPluralRules;
227
class
SharedBreakIterator;
228
class
NumberFormat;
229
class
UnicodeString;
230
299
class
U_I18N_API
RelativeDateTimeFormatter
:
public
UObject
{
300
public
:
301
306
RelativeDateTimeFormatter
(
UErrorCode
& status);
307
312
RelativeDateTimeFormatter
(
const
Locale
& locale,
UErrorCode
& status);
313
324
RelativeDateTimeFormatter
(
325
const
Locale
& locale,
NumberFormat
*nfToAdopt,
UErrorCode
& status);
326
342
RelativeDateTimeFormatter
(
343
const
Locale
& locale,
344
NumberFormat
*nfToAdopt,
345
UDateRelativeDateTimeFormatterStyle
style,
346
UDisplayContext
capitalizationContext,
347
UErrorCode
& status);
348
353
RelativeDateTimeFormatter
(
const
RelativeDateTimeFormatter
& other);
354
359
RelativeDateTimeFormatter
& operator=(
360
const
RelativeDateTimeFormatter
& other);
361
366
virtual
~
RelativeDateTimeFormatter
();
367
383
UnicodeString
& format(
384
double
quantity,
385
UDateDirection
direction,
386
UDateRelativeUnit
unit,
387
UnicodeString
& appendTo,
388
UErrorCode
& status)
const
;
389
402
UnicodeString
& format(
403
UDateDirection
direction,
404
UDateAbsoluteUnit
unit,
405
UnicodeString
& appendTo,
406
UErrorCode
& status)
const
;
407
408
#ifndef U_HIDE_DRAFT_API
409
426
UnicodeString
& formatNumeric(
427
double
offset,
428
URelativeDateTimeUnit
unit,
429
UnicodeString
& appendTo,
430
UErrorCode
& status)
const
;
431
449
UnicodeString
& format(
450
double
offset,
451
URelativeDateTimeUnit
unit,
452
UnicodeString
& appendTo,
453
UErrorCode
& status)
const
;
454
#endif
/* U_HIDE_DRAFT_API */
455
468
UnicodeString
& combineDateAndTime(
469
const
UnicodeString
& relativeDateString,
470
const
UnicodeString
& timeString,
471
UnicodeString
& appendTo,
472
UErrorCode
& status)
const
;
473
479
const
NumberFormat
& getNumberFormat()
const
;
480
486
UDisplayContext
getCapitalizationContext()
const
;
487
493
UDateRelativeDateTimeFormatterStyle
getFormatStyle()
const
;
494
495
private
:
496
const
RelativeDateTimeCacheData* fCache;
497
const
SharedNumberFormat *fNumberFormat;
498
const
SharedPluralRules *fPluralRules;
499
UDateRelativeDateTimeFormatterStyle
fStyle;
500
UDisplayContext
fContext;
501
const
SharedBreakIterator *fOptBreakIterator;
502
Locale
fLocale;
503
void
init(
504
NumberFormat
*nfToAdopt,
505
BreakIterator
*brkIter,
506
UErrorCode
&status);
507
void
adjustForContext(
UnicodeString
&)
const
;
508
};
509
510
U_NAMESPACE_END
511
512
#endif
/* !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION*/
513
#endif
Generated on Wed Mar 16 2016 23:45:45 for ICU 57.1 by
1.8.1.2