ICU 56.1
56.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
ucal.h
Go to the documentation of this file.
1
/*
2
*******************************************************************************
3
* Copyright (C) 1996-2015, International Business Machines Corporation and
4
* others. All Rights Reserved.
5
*******************************************************************************
6
*/
7
8
#ifndef UCAL_H
9
#define UCAL_H
10
11
#include "
unicode/utypes.h
"
12
#include "
unicode/uenum.h
"
13
#include "
unicode/uloc.h
"
14
#include "
unicode/localpointer.h
"
15
16
#if !UCONFIG_NO_FORMATTING
17
147
#define UCAL_UNKNOWN_ZONE_ID "Etc/Unknown"
148
153
typedef
void
*
UCalendar
;
154
158
enum
UCalendarType
{
164
UCAL_TRADITIONAL
,
169
UCAL_DEFAULT
=
UCAL_TRADITIONAL
,
174
UCAL_GREGORIAN
175
};
176
178
typedef
enum
UCalendarType
UCalendarType
;
179
183
enum
UCalendarDateFields
{
189
UCAL_ERA
,
190
195
UCAL_YEAR
,
196
216
UCAL_MONTH
,
217
229
UCAL_WEEK_OF_YEAR
,
230
244
UCAL_WEEK_OF_MONTH
,
245
253
UCAL_DATE
,
254
260
UCAL_DAY_OF_YEAR
,
261
276
UCAL_DAY_OF_WEEK
,
277
301
UCAL_DAY_OF_WEEK_IN_MONTH
,
302
312
UCAL_AM_PM
,
313
323
UCAL_HOUR
,
324
332
UCAL_HOUR_OF_DAY
,
333
340
UCAL_MINUTE
,
341
348
UCAL_SECOND
,
349
356
UCAL_MILLISECOND
,
357
363
UCAL_ZONE_OFFSET
,
364
370
UCAL_DST_OFFSET
,
371
379
UCAL_YEAR_WOY
,
380
387
UCAL_DOW_LOCAL
,
388
395
UCAL_EXTENDED_YEAR
,
396
407
UCAL_JULIAN_DAY
,
408
418
UCAL_MILLISECONDS_IN_DAY
,
419
424
UCAL_IS_LEAP_MONTH
,
425
430
UCAL_FIELD_COUNT
,
431
440
UCAL_DAY_OF_MONTH
=
UCAL_DATE
441
};
442
444
typedef
enum
UCalendarDateFields
UCalendarDateFields
;
453
enum
UCalendarDaysOfWeek
{
455
UCAL_SUNDAY
= 1,
457
UCAL_MONDAY
,
459
UCAL_TUESDAY
,
461
UCAL_WEDNESDAY
,
463
UCAL_THURSDAY
,
465
UCAL_FRIDAY
,
467
UCAL_SATURDAY
468
};
469
471
typedef
enum
UCalendarDaysOfWeek
UCalendarDaysOfWeek
;
472
476
enum
UCalendarMonths
{
478
UCAL_JANUARY
,
480
UCAL_FEBRUARY
,
482
UCAL_MARCH
,
484
UCAL_APRIL
,
486
UCAL_MAY
,
488
UCAL_JUNE
,
490
UCAL_JULY
,
492
UCAL_AUGUST
,
494
UCAL_SEPTEMBER
,
496
UCAL_OCTOBER
,
498
UCAL_NOVEMBER
,
500
UCAL_DECEMBER
,
505
UCAL_UNDECIMBER
506
};
507
509
typedef
enum
UCalendarMonths
UCalendarMonths
;
510
514
enum
UCalendarAMPMs
{
516
UCAL_AM
,
518
UCAL_PM
519
};
520
522
typedef
enum
UCalendarAMPMs
UCalendarAMPMs
;
523
530
enum
USystemTimeZoneType
{
535
UCAL_ZONE_TYPE_ANY
,
540
UCAL_ZONE_TYPE_CANONICAL
,
545
UCAL_ZONE_TYPE_CANONICAL_LOCATION
546
};
547
549
typedef
enum
USystemTimeZoneType
USystemTimeZoneType
;
550
567
U_STABLE
UEnumeration
* U_EXPORT2
568
ucal_openTimeZoneIDEnumeration
(
USystemTimeZoneType
zoneType,
const
char
* region,
569
const
int32_t* rawOffset,
UErrorCode
* ec);
570
582
U_STABLE
UEnumeration
* U_EXPORT2
583
ucal_openTimeZones
(
UErrorCode
* ec);
584
601
U_STABLE
UEnumeration
* U_EXPORT2
602
ucal_openCountryTimeZones
(
const
char
* country,
UErrorCode
* ec);
603
620
U_STABLE
int32_t U_EXPORT2
621
ucal_getDefaultTimeZone
(
UChar
* result, int32_t resultCapacity,
UErrorCode
* ec);
622
632
U_STABLE
void
U_EXPORT2
633
ucal_setDefaultTimeZone
(
const
UChar
* zoneID,
UErrorCode
* ec);
634
651
U_STABLE
int32_t U_EXPORT2
652
ucal_getDSTSavings
(
const
UChar
* zoneID,
UErrorCode
* ec);
653
660
U_STABLE
UDate
U_EXPORT2
661
ucal_getNow
(
void
);
662
686
U_STABLE
UCalendar
* U_EXPORT2
687
ucal_open
(
const
UChar
* zoneID,
688
int32_t len,
689
const
char
* locale,
690
UCalendarType
type,
691
UErrorCode
* status);
692
699
U_STABLE
void
U_EXPORT2
700
ucal_close
(
UCalendar
*cal);
701
702
#if U_SHOW_CPLUSPLUS_API
703
704
U_NAMESPACE_BEGIN
705
715
U_DEFINE_LOCAL_OPEN_POINTER
(
LocalUCalendarPointer
,
UCalendar
,
ucal_close
);
716
717
U_NAMESPACE_END
718
719
#endif
720
729
U_STABLE
UCalendar
* U_EXPORT2
730
ucal_clone
(
const
UCalendar
* cal,
731
UErrorCode
* status);
732
742
U_STABLE
void
U_EXPORT2
743
ucal_setTimeZone
(
UCalendar
* cal,
744
const
UChar
* zoneID,
745
int32_t len,
746
UErrorCode
* status);
747
758
U_STABLE
int32_t U_EXPORT2
759
ucal_getTimeZoneID
(
const
UCalendar
*cal,
760
UChar
*result,
761
int32_t resultLength,
762
UErrorCode
*status);
763
768
enum
UCalendarDisplayNameType
{
770
UCAL_STANDARD
,
772
UCAL_SHORT_STANDARD
,
774
UCAL_DST
,
776
UCAL_SHORT_DST
777
};
778
780
typedef
enum
UCalendarDisplayNameType
UCalendarDisplayNameType
;
781
795
U_STABLE
int32_t U_EXPORT2
796
ucal_getTimeZoneDisplayName
(
const
UCalendar
* cal,
797
UCalendarDisplayNameType
type,
798
const
char
* locale,
799
UChar
* result,
800
int32_t resultLength,
801
UErrorCode
* status);
802
811
U_STABLE
UBool
U_EXPORT2
812
ucal_inDaylightTime
(
const
UCalendar
* cal,
813
UErrorCode
* status );
814
835
U_STABLE
void
U_EXPORT2
836
ucal_setGregorianChange
(
UCalendar
*cal,
UDate
date,
UErrorCode
*pErrorCode);
837
858
U_STABLE
UDate
U_EXPORT2
859
ucal_getGregorianChange
(
const
UCalendar
*cal,
UErrorCode
*pErrorCode);
860
865
enum
UCalendarAttribute
{
870
UCAL_LENIENT
,
875
UCAL_FIRST_DAY_OF_WEEK
,
880
UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
,
886
UCAL_REPEATED_WALL_TIME
,
892
UCAL_SKIPPED_WALL_TIME
893
};
894
896
typedef
enum
UCalendarAttribute
UCalendarAttribute
;
897
903
enum
UCalendarWallTimeOption
{
910
UCAL_WALLTIME_LAST
,
917
UCAL_WALLTIME_FIRST
,
923
UCAL_WALLTIME_NEXT_VALID
924
};
926
typedef
enum
UCalendarWallTimeOption
UCalendarWallTimeOption
;
927
939
U_STABLE
int32_t U_EXPORT2
940
ucal_getAttribute
(
const
UCalendar
* cal,
941
UCalendarAttribute
attr);
942
954
U_STABLE
void
U_EXPORT2
955
ucal_setAttribute
(
UCalendar
* cal,
956
UCalendarAttribute
attr,
957
int32_t newValue);
958
968
U_STABLE
const
char
* U_EXPORT2
969
ucal_getAvailable
(int32_t localeIndex);
970
979
U_STABLE
int32_t U_EXPORT2
980
ucal_countAvailable
(
void
);
981
993
U_STABLE
UDate
U_EXPORT2
994
ucal_getMillis
(
const
UCalendar
* cal,
995
UErrorCode
* status);
996
1008
U_STABLE
void
U_EXPORT2
1009
ucal_setMillis
(
UCalendar
* cal,
1010
UDate
dateTime,
1011
UErrorCode
* status );
1012
1027
U_STABLE
void
U_EXPORT2
1028
ucal_setDate
(
UCalendar
* cal,
1029
int32_t year,
1030
int32_t month,
1031
int32_t date,
1032
UErrorCode
* status);
1033
1051
U_STABLE
void
U_EXPORT2
1052
ucal_setDateTime
(
UCalendar
* cal,
1053
int32_t year,
1054
int32_t month,
1055
int32_t date,
1056
int32_t hour,
1057
int32_t minute,
1058
int32_t second,
1059
UErrorCode
* status);
1060
1070
U_STABLE
UBool
U_EXPORT2
1071
ucal_equivalentTo
(
const
UCalendar
* cal1,
1072
const
UCalendar
* cal2);
1073
1092
U_STABLE
void
U_EXPORT2
1093
ucal_add
(
UCalendar
* cal,
1094
UCalendarDateFields
field,
1095
int32_t amount,
1096
UErrorCode
* status);
1097
1122
U_STABLE
void
U_EXPORT2
1123
ucal_roll
(
UCalendar
* cal,
1124
UCalendarDateFields
field,
1125
int32_t amount,
1126
UErrorCode
* status);
1127
1144
U_STABLE
int32_t U_EXPORT2
1145
ucal_get
(
const
UCalendar
* cal,
1146
UCalendarDateFields
field,
1147
UErrorCode
* status );
1148
1164
U_STABLE
void
U_EXPORT2
1165
ucal_set
(
UCalendar
* cal,
1166
UCalendarDateFields
field,
1167
int32_t value);
1168
1184
U_STABLE
UBool
U_EXPORT2
1185
ucal_isSet
(
const
UCalendar
* cal,
1186
UCalendarDateFields
field);
1187
1202
U_STABLE
void
U_EXPORT2
1203
ucal_clearField
(
UCalendar
* cal,
1204
UCalendarDateFields
field);
1205
1216
U_STABLE
void
U_EXPORT2
1217
ucal_clear
(
UCalendar
* calendar);
1218
1223
enum
UCalendarLimitType
{
1225
UCAL_MINIMUM
,
1227
UCAL_MAXIMUM
,
1229
UCAL_GREATEST_MINIMUM
,
1231
UCAL_LEAST_MAXIMUM
,
1233
UCAL_ACTUAL_MINIMUM
,
1235
UCAL_ACTUAL_MAXIMUM
1236
};
1237
1239
typedef
enum
UCalendarLimitType
UCalendarLimitType
;
1240
1255
U_STABLE
int32_t U_EXPORT2
1256
ucal_getLimit
(
const
UCalendar
* cal,
1257
UCalendarDateFields
field,
1258
UCalendarLimitType
type,
1259
UErrorCode
* status);
1260
1268
U_STABLE
const
char
* U_EXPORT2
1269
ucal_getLocaleByType
(
const
UCalendar
*cal,
ULocDataLocaleType
type,
UErrorCode
* status);
1270
1277
U_STABLE
const
char
* U_EXPORT2
1278
ucal_getTZDataVersion
(
UErrorCode
* status);
1279
1298
U_STABLE
int32_t U_EXPORT2
1299
ucal_getCanonicalTimeZoneID
(
const
UChar
*
id
, int32_t len,
1300
UChar
* result, int32_t resultCapacity,
UBool
*isSystemID,
UErrorCode
* status);
1308
U_STABLE
const
char
* U_EXPORT2
1309
ucal_getType
(
const
UCalendar
*cal,
UErrorCode
* status);
1310
1327
U_STABLE
UEnumeration
* U_EXPORT2
1328
ucal_getKeywordValuesForLocale
(
const
char
* key,
1329
const
char
* locale,
1330
UBool
commonlyUsed,
1331
UErrorCode
* status);
1332
1333
1337
enum
UCalendarWeekdayType
{
1342
UCAL_WEEKDAY
,
1347
UCAL_WEEKEND
,
1353
UCAL_WEEKEND_ONSET
,
1359
UCAL_WEEKEND_CEASE
1360
};
1361
1363
typedef
enum
UCalendarWeekdayType
UCalendarWeekdayType
;
1364
1382
U_STABLE
UCalendarWeekdayType
U_EXPORT2
1383
ucal_getDayOfWeekType
(
const
UCalendar
*cal,
UCalendarDaysOfWeek
dayOfWeek,
UErrorCode
* status);
1384
1400
U_STABLE
int32_t U_EXPORT2
1401
ucal_getWeekendTransition
(
const
UCalendar
*cal,
UCalendarDaysOfWeek
dayOfWeek,
UErrorCode
*status);
1402
1413
U_STABLE
UBool
U_EXPORT2
1414
ucal_isWeekend
(
const
UCalendar
*cal,
UDate
date,
UErrorCode
*status);
1415
1440
U_STABLE
int32_t U_EXPORT2
1441
ucal_getFieldDifference
(
UCalendar
* cal,
1442
UDate
target,
1443
UCalendarDateFields
field,
1444
UErrorCode
* status);
1445
1450
enum
UTimeZoneTransitionType
{
1456
UCAL_TZ_TRANSITION_NEXT
,
1462
UCAL_TZ_TRANSITION_NEXT_INCLUSIVE
,
1468
UCAL_TZ_TRANSITION_PREVIOUS
,
1474
UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE
1475
};
1476
1477
typedef
enum
UTimeZoneTransitionType
UTimeZoneTransitionType
;
1494
U_STABLE
UBool
U_EXPORT2
1495
ucal_getTimeZoneTransitionDate
(
const
UCalendar
* cal,
UTimeZoneTransitionType
type,
1496
UDate
* transition,
UErrorCode
* status);
1497
1522
U_STABLE
int32_t U_EXPORT2
1523
ucal_getWindowsTimeZoneID
(
const
UChar
*
id
, int32_t len,
1524
UChar
* winid, int32_t winidCapacity,
UErrorCode
* status);
1525
1554
U_STABLE
int32_t U_EXPORT2
1555
ucal_getTimeZoneIDForWindowsID
(
const
UChar
* winid, int32_t len,
const
char
* region,
1556
UChar
*
id
, int32_t idCapacity,
UErrorCode
* status);
1557
1558
#endif
/* #if !UCONFIG_NO_FORMATTING */
1559
1560
#endif
Generated on Wed Oct 7 2015 21:17:57 for ICU 56.1 by
1.8.1.2