Top Description Fields Constructors Methods
com.ibm.icu.util

public Class BuddhistCalendar

extends GregorianCalendar
Class Inheritance
Imports
java.util.Date, .Locale

BuddhistCalendar is a subclass of GregorianCalendar that numbers years since the birth of the Buddha. This is the civil calendar in some predominantly Buddhist countries such as Thailand, and it is used for religious purposes elsewhere.

The Buddhist calendar is identical to the Gregorian calendar in all respects except for the year and era. Years are numbered since the birth of the Buddha in 543 BC (Gregorian), so that 1 AD (Gregorian) is equivalent to 544 BE (Buddhist Era) and 1998 AD is 2541 BE.

The Buddhist Calendar has only one allowable era: BE. If the calendar is not in lenient mode (see setLenient), dates before 1/1/1 BE are rejected with an IllegalArgumentException.

This class should not be subclassed.

BuddhistCalendar usually should be instantiated using com.ibm.icu.util.Calendar#getInstance(ULocale) passing in a ULocale with the tag "@calendar=buddhist".

Authors
Laura Werner, Alan Liu
ICU Status
Stable since ICU 2.8.
See Also
com.ibm.icu.util.Calendar, com.ibm.icu.util.GregorianCalendar

Field Summary

Modifier and TypeField and Description
public static final int
BE

Constant for the Buddhist Era.

private static final int
private static final int
private static final long
Inherited from com.ibm.icu.util.GregorianCalendar:
ADBCinvertGregorianisGregorian

Constructor Summary

AccessConstructor and Description
public
BuddhistCalendar()

Constructs a BuddhistCalendar using the current time in the default time zone with the default locale.

public
BuddhistCalendar(TimeZone
the given time zone.
zone
)

Constructs a BuddhistCalendar based on the current time in the given time zone with the default locale.

public
BuddhistCalendar(Locale
the given locale.
aLocale
)

Constructs a BuddhistCalendar based on the current time in the default time zone with the given locale.

public
BuddhistCalendar(ULocale
the given ulocale.
locale
)

Constructs a BuddhistCalendar based on the current time in the default time zone with the given locale.

public
BuddhistCalendar(TimeZone
the given time zone.
zone
,
Locale
the given locale.
aLocale
)

Constructs a BuddhistCalendar based on the current time in the given time zone with the given locale.

public
BuddhistCalendar(TimeZone
the given time zone.
zone
,
ULocale
the given ulocale.
locale
)

Constructs a BuddhistCalendar based on the current time in the given time zone with the given locale.

public
BuddhistCalendar(Date
The date to which the new calendar is set.
date
)

Constructs a BuddhistCalendar with the given date set in the default time zone with the default locale.

public
BuddhistCalendar(int
The value used to set the calendar's YEAR time field.
year
,
int
The value used to set the calendar's MONTH time field. The value is 0-based. e.g., 0 for January.
month
,
int
The value used to set the calendar's DATE time field.
date
)

Constructs a BuddhistCalendar with the given date set in the default time zone with the default locale.

public
BuddhistCalendar(int
The value used to set the calendar's YEAR time field.
year
,
int
The value used to set the calendar's MONTH time field. The value is 0-based. e.g., 0 for January.
month
,
int
The value used to set the calendar's DATE time field.
date
,
int
The value used to set the calendar's HOUR_OF_DAY time field.
hour
,
int
The value used to set the calendar's MINUTE time field.
minute
,
int
The value used to set the calendar's SECOND time field.
second
)

Constructs a BuddhistCalendar with the given date and time set for the default time zone with the default locale.

Method Summary

Modifier and TypeMethod and Description
public String
protected void
handleComputeFields(int julianDay)

Overrides com.ibm.icu.util.GregorianCalendar.handleComputeFields.

Override Calendar to compute several fields specific to the hybrid Gregorian-Julian calendar system.
protected int
handleComputeMonthStart(int
the extended year
eyear
,
int
the zero-based month, or 0 if useMonth is false
month
,
boolean
if false, compute the day before the first day of the given year, otherwise, compute the day before the first day of the given month
useMonth
)

Overrides com.ibm.icu.util.GregorianCalendar.handleComputeMonthStart.

Return JD of start of given month/year
protected int
handleGetExtendedYear()

Overrides com.ibm.icu.util.GregorianCalendar.handleGetExtendedYear.

Returns the extended year defined by the current fields.
protected int
handleGetLimit(int
one of the above field numbers
field
,
int
one of MINIMUM, GREATEST_MINIMUM, LEAST_MAXIMUM, or MAXIMUM
limitType
)

Overrides com.ibm.icu.util.GregorianCalendar.handleGetLimit.

Override GregorianCalendar.
Inherited from com.ibm.icu.util.GregorianCalendar:
getActualMaximumgetActualMinimumgetGregorianChangehandleComputeJulianDayhandleGetMonthLengthhandleGetYearLengthhashCodeinDaylightTimeisEquivalentToisLeapYearrollsetGregorianChange

Field Detail

BEback to summary
public static final int BE

Constant for the Buddhist Era. This is the only allowable ERA value for the Buddhist calendar.

ICU Status
Stable since ICU 2.8.
See Also
com.ibm.icu.util.Calendar#ERA
BUDDHIST_ERA_STARTback to summary
private static final int BUDDHIST_ERA_START
GREGORIAN_EPOCHback to summary
private static final int GREGORIAN_EPOCH
serialVersionUIDback to summary
private static final long serialVersionUID

Hides com.ibm.icu.util.GregorianCalendar.serialVersionUID.

Constructor Detail

BuddhistCalendarback to summary
public BuddhistCalendar()

Constructs a BuddhistCalendar using the current time in the default time zone with the default locale.

ICU Status
Stable since ICU 2.8.
BuddhistCalendarback to summary
public BuddhistCalendar(TimeZone zone)

Constructs a BuddhistCalendar based on the current time in the given time zone with the default locale.

Parameters
zone:TimeZone

the given time zone.

ICU Status
Stable since ICU 2.8.
BuddhistCalendarback to summary
public BuddhistCalendar(Locale aLocale)

Constructs a BuddhistCalendar based on the current time in the default time zone with the given locale.

Parameters
aLocale:Locale

the given locale.

ICU Status
Stable since ICU 2.8.
BuddhistCalendarback to summary
public BuddhistCalendar(ULocale locale)

Constructs a BuddhistCalendar based on the current time in the default time zone with the given locale.

Parameters
locale:ULocale

the given ulocale.

ICU Status
Stable since ICU 3.2.
BuddhistCalendarback to summary
public BuddhistCalendar(TimeZone zone, Locale aLocale)

Constructs a BuddhistCalendar based on the current time in the given time zone with the given locale.

Parameters
zone:TimeZone

the given time zone.

aLocale:Locale

the given locale.

ICU Status
Stable since ICU 2.8.
BuddhistCalendarback to summary
public BuddhistCalendar(TimeZone zone, ULocale locale)

Constructs a BuddhistCalendar based on the current time in the given time zone with the given locale.

Parameters
zone:TimeZone

the given time zone.

locale:ULocale

the given ulocale.

ICU Status
Stable since ICU 3.2.
BuddhistCalendarback to summary
public BuddhistCalendar(Date date)

Constructs a BuddhistCalendar with the given date set in the default time zone with the default locale.

Parameters
date:Date

The date to which the new calendar is set.

ICU Status
Stable since ICU 2.8.
BuddhistCalendarback to summary
public BuddhistCalendar(int year, int month, int date)

Constructs a BuddhistCalendar with the given date set in the default time zone with the default locale.

Parameters
year:int

The value used to set the calendar's YEAR time field.

month:int

The value used to set the calendar's MONTH time field. The value is 0-based. e.g., 0 for January.

date:int

The value used to set the calendar's DATE time field.

ICU Status
Stable since ICU 2.8.
BuddhistCalendarback to summary
public BuddhistCalendar(int year, int month, int date, int hour, int minute, int second)

Constructs a BuddhistCalendar with the given date and time set for the default time zone with the default locale.

Parameters
year:int

The value used to set the calendar's YEAR time field.

month:int

The value used to set the calendar's MONTH time field. The value is 0-based. e.g., 0 for January.

date:int

The value used to set the calendar's DATE time field.

hour:int

The value used to set the calendar's HOUR_OF_DAY time field.

minute:int

The value used to set the calendar's MINUTE time field.

second:int

The value used to set the calendar's SECOND time field.

ICU Status
Stable since ICU 2.8.

Method Detail

getTypeback to summary
public String getType()

Overrides com.ibm.icu.util.GregorianCalendar.getType.

Doc from com.ibm.icu.util.GregorianCalendar.getType.

ICU

Returns the calendar type name string for this Calendar object. The returned string is the legacy ICU calendar attribute value, for example, "gregorian" or "japanese".

See type="old type name" for the calendar attribute of locale IDs at http://www.unicode.org/reports/tr35/#Key_Type_Definitions

Returns:String

Doc from com.ibm.icu.util.Calendar.getType.

legacy calendar type name string

ICU Status
Stable since ICU 3.8.
handleComputeFieldsback to summary
protected void handleComputeFields(int julianDay)

Overrides com.ibm.icu.util.GregorianCalendar.handleComputeFields.

Doc from com.ibm.icu.util.GregorianCalendar.handleComputeFields.

Override Calendar to compute several fields specific to the hybrid Gregorian-Julian calendar system. These are:

  • ERA
  • YEAR
  • MONTH
  • DAY_OF_MONTH
  • DAY_OF_YEAR
  • EXTENDED_YEAR
ICU Status
Stable since ICU 2.8.
handleComputeMonthStartback to summary
protected int handleComputeMonthStart(int eyear, int month, boolean useMonth)

Overrides com.ibm.icu.util.GregorianCalendar.handleComputeMonthStart.

Doc from com.ibm.icu.util.GregorianCalendar.handleComputeMonthStart.

Return JD of start of given month/year

Parameters
eyear:int

Doc from com.ibm.icu.util.Calendar.handleComputeMonthStart.

the extended year

month:int

Doc from com.ibm.icu.util.Calendar.handleComputeMonthStart.

the zero-based month, or 0 if useMonth is false

useMonth:boolean

Doc from com.ibm.icu.util.Calendar.handleComputeMonthStart.

if false, compute the day before the first day of the given year, otherwise, compute the day before the first day of the given month

Returns:int

Doc from com.ibm.icu.util.Calendar.handleComputeMonthStart.

the Julian day number of the day before the first day of the given month and year

ICU Status
Stable since ICU 2.8.
handleGetExtendedYearback to summary
protected int handleGetExtendedYear()

Overrides com.ibm.icu.util.GregorianCalendar.handleGetExtendedYear.

Doc from com.ibm.icu.util.Calendar.handleGetExtendedYear.

Returns the extended year defined by the current fields. This will use the EXTENDED_YEAR field or the YEAR and supra-year fields (such as ERA) specific to the calendar system, depending on which set of fields is newer.

Returns:int

the extended year

ICU Status
Stable since ICU 2.8.
handleGetLimitback to summary
protected int handleGetLimit(int field, int limitType)

Overrides com.ibm.icu.util.GregorianCalendar.handleGetLimit.

Override GregorianCalendar. There is only one Buddhist ERA. We should really handle YEAR, YEAR_WOY, and EXTENDED_YEAR here too to implement the 1..5000000 range, but it's not critical.

Parameters
field:int

Doc from com.ibm.icu.util.Calendar.handleGetLimit.

one of the above field numbers

limitType:int

Doc from com.ibm.icu.util.Calendar.handleGetLimit.

one of MINIMUM, GREATEST_MINIMUM, LEAST_MAXIMUM, or MAXIMUM

ICU Status
Stable since ICU 2.8.