Package org.jfree.data.time
Class Day
java.lang.Object
org.jfree.data.time.RegularTimePeriod
org.jfree.data.time.Day
- All Implemented Interfaces:
Serializable
,Comparable
,MonthConstants
,TimePeriod
Represents a single day in the range 1-Jan-1900 to 31-Dec-9999. This class
is immutable, which is a requirement for all
RegularTimePeriod
subclasses.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final DateFormat
A standard date formatter.protected static final DateFormat
A date formatter for the default locale.protected static final DateFormat
A date formatter for the default locale.protected static final DateFormat
A date formatter for the default locale. -
Constructor Summary
ConstructorDescriptionDay()
Creates a new instance, derived from the system date/time.Day
(int day, int month, int year) Constructs a new one day time period.Constructs a new instance, based on a particular date/time.Constructs a new instance, based on a particular date/time.Constructs a new instance, based on a particular date/time and time zone.Day
(SerialDate serialDate) Constructs a new one day time period. -
Method Summary
Modifier and TypeMethodDescriptionint
Returns an integer indicating the order of this Day object relative to the specified object: negative == before, zero == same, positive == after.boolean
Tests the equality of this Day object to an arbitrary object.int
Returns the day of the month.long
Returns the first millisecond of the day.long
getFirstMillisecond
(Calendar calendar) Returns the first millisecond of the day, evaluated using the supplied calendar (which determines the time zone).long
Returns the last millisecond of the day.long
getLastMillisecond
(Calendar calendar) Returns the last millisecond of the day, evaluated using the supplied calendar (which determines the time zone).int
getMonth()
Returns the month.Returns the day as aSerialDate
.long
Returns a serial index number for the day.int
getYear()
Returns the year.int
hashCode()
Returns a hash code for this object instance.next()
Returns the day following this one, ornull
if some limit has been reached.static Day
Parses the string argument as a day.void
Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).previous()
Returns the day preceding this one.toString()
Returns a string representing the day.Methods inherited from class org.jfree.data.time.RegularTimePeriod
createInstance, downsize, getCalendarInstance, getEnd, getMiddleMillisecond, getMiddleMillisecond, getMillisecond, getStart, setCalendarInstancePrototype, setThreadLocalCalendarInstance
-
Field Details
-
DATE_FORMAT
A standard date formatter. -
DATE_FORMAT_SHORT
A date formatter for the default locale. -
DATE_FORMAT_MEDIUM
A date formatter for the default locale. -
DATE_FORMAT_LONG
A date formatter for the default locale.
-
-
Constructor Details
-
Day
public Day()Creates a new instance, derived from the system date/time. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
. -
Day
Constructs a new one day time period. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
day
- the day-of-the-month.month
- the month (1 to 12).year
- the year (1900 <= year <= 9999).
-
Day
Constructs a new one day time period. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
serialDate
- the day (null
not permitted).
-
Day
Constructs a new instance, based on a particular date/time. The time zone and locale are determined by the calendar returned byRegularTimePeriod.getCalendarInstance()
.- Parameters:
time
- the time (null
not permitted).- See Also:
-
Day
Constructs a new instance, based on a particular date/time and time zone.- Parameters:
time
- the date/time (null
not permitted).zone
- the time zone (null
not permitted).locale
- the locale (null
not permitted).
-
Day
Constructs a new instance, based on a particular date/time. The time zone and locale are determined by thecalendar
parameter.- Parameters:
time
- the date/time (null
not permitted).calendar
- the calendar to use for calculations (null
not permitted).
-
-
Method Details
-
getSerialDate
Returns the day as aSerialDate
. Note: the reference that is returned should be an instance of an immutableSerialDate
(otherwise the caller could use the reference to alter the state of thisDay
instance, andDay
is supposed to be immutable).- Returns:
- The day as a
SerialDate
.
-
getYear
Returns the year.- Returns:
- The year.
-
getMonth
Returns the month.- Returns:
- The month.
-
getDayOfMonth
Returns the day of the month.- Returns:
- The day of the month.
-
getFirstMillisecond
Returns the first millisecond of the day. This will be determined relative to the time zone specified in the constructor, or in the calendar instance passed in the most recent call to thepeg(Calendar)
method.- Specified by:
getFirstMillisecond
in classRegularTimePeriod
- Returns:
- The first millisecond of the day.
- See Also:
-
getLastMillisecond
Returns the last millisecond of the day. This will be determined relative to the time zone specified in the constructor, or in the calendar instance passed in the most recent call to thepeg(Calendar)
method.- Specified by:
getLastMillisecond
in classRegularTimePeriod
- Returns:
- The last millisecond of the day.
- See Also:
-
peg
Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).- Specified by:
peg
in classRegularTimePeriod
- Parameters:
calendar
- the calendar (null
not permitted).
-
previous
Returns the day preceding this one. No matter what time zone and locale this instance was created with, the returned instance will use the default calendar for time calculations, obtained withRegularTimePeriod.getCalendarInstance()
.- Specified by:
previous
in classRegularTimePeriod
- Returns:
- The day preceding this one.
-
next
Returns the day following this one, ornull
if some limit has been reached. No matter what time zone and locale this instance was created with, the returned instance will use the default calendar for time calculations, obtained withRegularTimePeriod.getCalendarInstance()
.- Specified by:
next
in classRegularTimePeriod
- Returns:
- The day following this one, or
null
if some limit has been reached.
-
getSerialIndex
Returns a serial index number for the day.- Specified by:
getSerialIndex
in classRegularTimePeriod
- Returns:
- The serial index number.
-
getFirstMillisecond
Returns the first millisecond of the day, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getFirstMillisecond
in classRegularTimePeriod
- Parameters:
calendar
- calendar to use (null
not permitted).- Returns:
- The start of the day as milliseconds since 01-01-1970.
- Throws:
NullPointerException
- ifcalendar
isnull
.- See Also:
-
getLastMillisecond
Returns the last millisecond of the day, evaluated using the supplied calendar (which determines the time zone).- Specified by:
getLastMillisecond
in classRegularTimePeriod
- Parameters:
calendar
- calendar to use (null
not permitted).- Returns:
- The end of the day as milliseconds since 01-01-1970.
- Throws:
NullPointerException
- ifcalendar
isnull
.- See Also:
-
equals
Tests the equality of this Day object to an arbitrary object. Returns true if the target is a Day instance or a SerialDate instance representing the same day as this object. In all other cases, returns false. -
hashCode
Returns a hash code for this object instance. The approach described by Joshua Bloch in "Effective Java" has been used here:http://developer.java.sun.com/developer/Books/effectivejava /Chapter3.pdf
-
compareTo
Returns an integer indicating the order of this Day object relative to the specified object: negative == before, zero == same, positive == after.- Specified by:
compareTo
in interfaceComparable
- Parameters:
o1
- the object to compare.- Returns:
- negative == before, zero == same, positive == after.
-
toString
Returns a string representing the day.- Overrides:
toString
in classRegularTimePeriod
- Returns:
- A string representing the day.
-
parseDay
Parses the string argument as a day.This method is required to recognise YYYY-MM-DD as a valid format. Anything else, for now, is a bonus.
- Parameters:
s
- the date string to parse.- Returns:
null
if the string does not contain any parseable string, the day otherwise.
-