|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.directory.api.util.GeneralizedTime
public class GeneralizedTime
This class represents the generalized time syntax as defined in RFC 4517 section 3.3.13.
The date, time and time zone information is internally backed
by an Calendar object
Leap seconds are not supported, as Calendar
does not support leap seconds.
3.3.13. Generalized Time
A value of the Generalized Time syntax is a character string
representing a date and time. The LDAP-specific encoding of a value
of this syntax is a restriction of the format defined in [ISO8601],
and is described by the following ABNF:
GeneralizedTime = century year month day hour
[ minute [ second / leap-second ] ]
[ fraction ]
g-time-zone
century = 2(%x30-39) ; "00" to "99"
year = 2(%x30-39) ; "00" to "99"
month = ( %x30 %x31-39 ) ; "01" (January) to "09"
/ ( %x31 %x30-32 ) ; "10" to "12"
day = ( %x30 %x31-39 ) ; "01" to "09"
/ ( %x31-32 %x30-39 ) ; "10" to "29"
/ ( %x33 %x30-31 ) ; "30" to "31"
hour = ( %x30-31 %x30-39 ) / ( %x32 %x30-33 ) ; "00" to "23"
minute = %x30-35 %x30-39 ; "00" to "59"
second = ( %x30-35 %x30-39 ) ; "00" to "59"
leap-second = ( %x36 %x30 ) ; "60"
fraction = ( DOT / COMMA ) 1*(%x30-39)
g-time-zone = %x5A ; "Z"
/ g-differential
g-differential = ( MINUS / PLUS ) hour [ minute ]
MINUS = %x2D ; minus sign ("-")
The , , and rules are defined in [RFC4512].
The above ABNF allows character strings that do not represent valid
dates (in the Gregorian calendar) and/or valid times (e.g., February
31, 1994). Such character strings SHOULD be considered invalid for
this syntax.
The time value represents coordinated universal time (equivalent to
Greenwich Mean Time) if the "Z" form of is used;
otherwise, the value represents a local time in the time zone
indicated by . In the latter case, coordinated
universal time can be calculated by subtracting the differential from
the local time. The "Z" form of SHOULD be used in
preference to .
If is omitted, then represents a fraction of an
hour; otherwise, if and are omitted, then
represents a fraction of a minute; otherwise,
represents a fraction of a second.
Examples:
199412161032Z
199412160532-0500
Both example values represent the same coordinated universal time:
10:32 AM, December 16, 1994.
The LDAP definition for the Generalized Time syntax is:
( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )
This syntax corresponds to the GeneralizedTime ASN.1 type from
[ASN.1], with the constraint that local time without a differential
SHALL NOT be used.
| Nested Class Summary | |
|---|---|
static class |
GeneralizedTime.Format
The format of the generalized time. |
static class |
GeneralizedTime.FractionDelimiter
The fraction delimiter of the generalized time. |
static class |
GeneralizedTime.TimeZoneFormat
The time zone format of the generalized time. |
| Constructor Summary | |
|---|---|
GeneralizedTime(Calendar calendar)
Creates a new instance of GeneralizedTime, based on the given Calendar object. |
|
GeneralizedTime(Date date)
Creates a new instance of GeneralizedTime by setting the date to an instance of Calendar. |
|
GeneralizedTime(String generalizedTime)
Creates a new instance of GeneralizedTime, based on the given generalized time string. |
|
| Method Summary | |
|---|---|
int |
compareTo(GeneralizedTime other)
Compares this GeneralizedTime object with the specified GeneralizedTime object. |
boolean |
equals(Object obj)
|
Calendar |
getCalendar()
Gets the calendar. |
Date |
getDate()
|
static Date |
getDate(String zuluTime)
|
int |
getDay()
|
int |
getHour()
|
int |
getMinutes()
|
int |
getMonth()
|
int |
getSeconds()
|
long |
getTime()
|
int |
getYear()
|
int |
hashCode()
|
String |
toGeneralizedTime()
Returns the string representation of this generalized time. |
String |
toGeneralizedTime(GeneralizedTime.Format format,
GeneralizedTime.FractionDelimiter fractionDelimiter,
int fractionLength,
GeneralizedTime.TimeZoneFormat timeZoneFormat)
Returns the string representation of this generalized time. |
String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public GeneralizedTime(Date date)
date - the dateGeneralizedTime(Calendar)public GeneralizedTime(Calendar calendar)
Format.YEAR_MONTH_DAY_HOUR_MIN_SECas default format and
TimeZoneFormat.Zas default time zone format.
calendar - the calendar containing the date, time and timezone information
public GeneralizedTime(String generalizedTime)
throws ParseException
generalizedTime - the generalized time
ParseException - if the given generalized time can't be parsed.| Method Detail |
|---|
public String toGeneralizedTime()
public String toGeneralizedTime(GeneralizedTime.Format format,
GeneralizedTime.FractionDelimiter fractionDelimiter,
int fractionLength,
GeneralizedTime.TimeZoneFormat timeZoneFormat)
format - the target formatfractionDelimiter - the target fraction delimiter, may be nullfractionLength - the fraction lengthtimeZoneFormat - the target time zone format
public Calendar getCalendar()
GeneralizedTime settings.
public String toString()
toString in class Objectpublic int hashCode()
hashCode in class Objectpublic boolean equals(Object obj)
equals in class Objectpublic int compareTo(GeneralizedTime other)
compareTo in interface Comparable<GeneralizedTime>other - the other GeneralizedTime object
Comparable.compareTo(java.lang.Object)public long getTime()
public Date getDate()
public int getYear()
public int getMonth()
public int getDay()
public int getHour()
public int getMinutes()
public int getSeconds()
public static Date getDate(String zuluTime)
throws ParseException
zuluTime -
ParseException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||