ICU 4.8.1.1
4.8.1.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
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-2011, 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_DRAFT
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
752
enum
UCalendarDisplayNameType
{
754
UCAL_STANDARD
,
756
UCAL_SHORT_STANDARD
,
758
UCAL_DST
,
760
UCAL_SHORT_DST
761
};
762
764
typedef
enum
UCalendarDisplayNameType
UCalendarDisplayNameType
;
765
779
U_STABLE
int32_t
U_EXPORT2
780
ucal_getTimeZoneDisplayName
(
const
UCalendar
* cal,
781
UCalendarDisplayNameType
type,
782
const
char
* locale,
783
UChar
* result,
784
int32_t resultLength,
785
UErrorCode
* status);
786
795
U_STABLE
UBool
U_EXPORT2
796
ucal_inDaylightTime
(
const
UCalendar
* cal,
797
UErrorCode
* status );
798
819
U_STABLE
void
U_EXPORT2
820
ucal_setGregorianChange
(
UCalendar
*cal,
UDate
date,
UErrorCode
*pErrorCode);
821
842
U_STABLE
UDate
U_EXPORT2
843
ucal_getGregorianChange
(
const
UCalendar
*cal,
UErrorCode
*pErrorCode);
844
849
enum
UCalendarAttribute
{
851
UCAL_LENIENT
,
853
UCAL_FIRST_DAY_OF_WEEK
,
855
UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
856
};
857
859
typedef
enum
UCalendarAttribute
UCalendarAttribute
;
860
872
U_STABLE
int32_t
U_EXPORT2
873
ucal_getAttribute
(
const
UCalendar
* cal,
874
UCalendarAttribute
attr);
875
887
U_STABLE
void
U_EXPORT2
888
ucal_setAttribute
(
UCalendar
* cal,
889
UCalendarAttribute
attr,
890
int32_t newValue);
891
901
U_STABLE
const
char
*
U_EXPORT2
902
ucal_getAvailable
(int32_t localeIndex);
903
912
U_STABLE
int32_t
U_EXPORT2
913
ucal_countAvailable
(
void
);
914
926
U_STABLE
UDate
U_EXPORT2
927
ucal_getMillis
(
const
UCalendar
* cal,
928
UErrorCode
* status);
929
941
U_STABLE
void
U_EXPORT2
942
ucal_setMillis
(
UCalendar
* cal,
943
UDate
dateTime,
944
UErrorCode
* status );
945
960
U_STABLE
void
U_EXPORT2
961
ucal_setDate
(
UCalendar
* cal,
962
int32_t year,
963
int32_t month,
964
int32_t date,
965
UErrorCode
* status);
966
984
U_STABLE
void
U_EXPORT2
985
ucal_setDateTime
(
UCalendar
* cal,
986
int32_t year,
987
int32_t month,
988
int32_t date,
989
int32_t hour,
990
int32_t minute,
991
int32_t second,
992
UErrorCode
* status);
993
1003
U_STABLE
UBool
U_EXPORT2
1004
ucal_equivalentTo
(
const
UCalendar
* cal1,
1005
const
UCalendar
* cal2);
1006
1022
U_STABLE
void
U_EXPORT2
1023
ucal_add
(
UCalendar
* cal,
1024
UCalendarDateFields
field,
1025
int32_t amount,
1026
UErrorCode
* status);
1027
1043
U_STABLE
void
U_EXPORT2
1044
ucal_roll
(
UCalendar
* cal,
1045
UCalendarDateFields
field,
1046
int32_t amount,
1047
UErrorCode
* status);
1048
1065
U_STABLE
int32_t
U_EXPORT2
1066
ucal_get
(
const
UCalendar
* cal,
1067
UCalendarDateFields
field,
1068
UErrorCode
* status );
1069
1085
U_STABLE
void
U_EXPORT2
1086
ucal_set
(
UCalendar
* cal,
1087
UCalendarDateFields
field,
1088
int32_t value);
1089
1105
U_STABLE
UBool
U_EXPORT2
1106
ucal_isSet
(
const
UCalendar
* cal,
1107
UCalendarDateFields
field);
1108
1123
U_STABLE
void
U_EXPORT2
1124
ucal_clearField
(
UCalendar
* cal,
1125
UCalendarDateFields
field);
1126
1137
U_STABLE
void
U_EXPORT2
1138
ucal_clear
(
UCalendar
* calendar);
1139
1144
enum
UCalendarLimitType
{
1146
UCAL_MINIMUM
,
1148
UCAL_MAXIMUM
,
1150
UCAL_GREATEST_MINIMUM
,
1152
UCAL_LEAST_MAXIMUM
,
1154
UCAL_ACTUAL_MINIMUM
,
1156
UCAL_ACTUAL_MAXIMUM
1157
};
1158
1160
typedef
enum
UCalendarLimitType
UCalendarLimitType
;
1161
1176
U_STABLE
int32_t
U_EXPORT2
1177
ucal_getLimit
(
const
UCalendar
* cal,
1178
UCalendarDateFields
field,
1179
UCalendarLimitType
type,
1180
UErrorCode
* status);
1181
1189
U_STABLE
const
char
*
U_EXPORT2
1190
ucal_getLocaleByType
(
const
UCalendar
*cal,
ULocDataLocaleType
type,
UErrorCode
* status);
1191
1198
U_STABLE
const
char
*
U_EXPORT2
1199
ucal_getTZDataVersion
(
UErrorCode
* status);
1200
1219
U_STABLE
int32_t
U_EXPORT2
1220
ucal_getCanonicalTimeZoneID
(
const
UChar
*
id
, int32_t len,
1221
UChar
* result, int32_t resultCapacity,
UBool
*isSystemID,
UErrorCode
* status);
1229
U_STABLE
const
char
*
U_EXPORT2
1230
ucal_getType
(
const
UCalendar
*cal,
UErrorCode
* status);
1231
1248
U_STABLE
UEnumeration
*
U_EXPORT2
1249
ucal_getKeywordValuesForLocale
(
const
char
* key,
1250
const
char
* locale,
1251
UBool
commonlyUsed,
1252
UErrorCode
* status);
1253
1254
1258
enum
UCalendarWeekdayType
{
1263
UCAL_WEEKDAY
,
1268
UCAL_WEEKEND
,
1274
UCAL_WEEKEND_ONSET
,
1280
UCAL_WEEKEND_CEASE
1281
};
1282
1284
typedef
enum
UCalendarWeekdayType
UCalendarWeekdayType
;
1285
1302
U_STABLE
UCalendarWeekdayType
U_EXPORT2
1303
ucal_getDayOfWeekType
(
const
UCalendar
*cal,
UCalendarDaysOfWeek
dayOfWeek,
UErrorCode
* status);
1304
1320
U_STABLE
int32_t
U_EXPORT2
1321
ucal_getWeekendTransition
(
const
UCalendar
*cal,
UCalendarDaysOfWeek
dayOfWeek,
UErrorCode
*status);
1322
1333
U_STABLE
UBool
U_EXPORT2
1334
ucal_isWeekend
(
const
UCalendar
*cal,
UDate
date,
UErrorCode
*status);
1335
1360
U_DRAFT
int32_t
U_EXPORT2
1361
ucal_getFieldDifference
(
UCalendar
* cal,
1362
UDate
target,
1363
UCalendarDateFields
field,
1364
UErrorCode
* status);
1365
1366
1367
#endif
/* #if !UCONFIG_NO_FORMATTING */
1368
1369
#endif
Generated on Mon Sep 5 2016 23:59:33 for ICU 4.8.1.1 by
1.8.1.2