## org.jfree.data.time
Class Second

    java.lang.Object
      org.jfree.data.time.RegularTimePeriod
          org.jfree.data.time.Second

All Implemented Interfaces:
  java.lang.Comparable, org.jfree.date.MonthConstants, java.io.Serializable, TimePeriod

public class Second
extends RegularTimePeriod
implements java.io.Serializable

Represents a second in a particular day. This class is immutable, which is a requirement for all `RegularTimePeriod` subclasses.

See Also:
  Serialized Form

Field Summary
`static int` `FIRST_SECOND_IN_MINUTE` Useful constant for the first second in a minute.
`static int` `LAST_SECOND_IN_MINUTE` Useful constant for the last second in a minute.

Fields inherited from class org.jfree.data.time.RegularTimePeriod
`DEFAULT_TIME_ZONE, WORKING_CALENDAR`

Fields inherited from interface org.jfree.date.MonthConstants
`APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE, MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER`

Constructor Summary
`Second()` Constructs a new Second, based on the system date/time.
`Second(java.util.Date time)` Constructs a second.
`Second(java.util.Date time, java.util.TimeZone zone)` Creates a new second based on the supplied time and time zone.
`Second(int second, int minute, int hour, int day, int month, int year)` Creates a new second.
`Second(int second, Minute minute)` Constructs a new Second.

Method Summary
`int` `compareTo(java.lang.Object o1)` Returns an integer indicating the order of this Second object relative to the specified object: negative == before, zero == same, positive == after.
`boolean` `equals(java.lang.Object obj)` Tests the equality of this object against an arbitrary Object.
`long` `getFirstMillisecond(java.util.Calendar calendar)` Returns the first millisecond of the minute.
`long` `getLastMillisecond(java.util.Calendar calendar)` Returns the last millisecond of the second.
`Minute` `getMinute()` Returns the minute.
`int` `getSecond()` Returns the second within the minute.
`long` `getSerialIndex()` Returns a serial index number for the minute.
`int` `hashCode()` Returns a hash code for this object instance.
`RegularTimePeriod` `next()` Returns the second following this one.
`static Second` `parseSecond(java.lang.String s)` Creates a new instance by parsing a string.
`RegularTimePeriod` `previous()` Returns the second preceding this one.

Methods inherited from class org.jfree.data.time.RegularTimePeriod
`createInstance, downsize, getEnd, getFirstMillisecond, getFirstMillisecond, getLastMillisecond, getLastMillisecond, getMiddleMillisecond, getMiddleMillisecond, getMiddleMillisecond, getStart, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### FIRST_SECOND_IN_MINUTE

    public static final int FIRST_SECOND_IN_MINUTE

  Useful constant for the first second in a minute.

  See Also:
    Constant Field Values

### LAST_SECOND_IN_MINUTE

    public static final int LAST_SECOND_IN_MINUTE

  Useful constant for the last second in a minute.

  See Also:
    Constant Field Values

Constructor Detail

### Second

    public Second()

  Constructs a new Second, based on the system date/time.

### Second

    public Second(int second,
                  Minute minute)

  Constructs a new Second.

Parameters:
  `second` - the second (0 to 24*60*60-1).
  `minute` - the minute (`null` not permitted).

### Second

    public Second(int second,
                  int minute,
                  int hour,
                  int day,
                  int month,
                  int year)

  Creates a new second.

Parameters:
  `second` - the second (0-59).
  `minute` - the minute (0-59).
  `hour` - the hour (0-23).
  `day` - the day (1-31).
  `month` - the month (1-12).
  `year` - the year (1900-9999).

### Second

    public Second(java.util.Date time)

  Constructs a second.

Parameters:
  `time` - the time.

### Second

    public Second(java.util.Date time,
                  java.util.TimeZone zone)

  Creates a new second based on the supplied time and time zone.

Parameters:
  `time` - the instant in time.
  `zone` - the time zone.

Method Detail

### getSecond

    public int getSecond()

  Returns the second within the minute.

  Returns:
    The second (0 - 59).

### getMinute

    public Minute getMinute()

  Returns the minute.

  Returns:
    The minute (never `null`).

### previous

    public RegularTimePeriod previous()

  Returns the second preceding this one.

  Specified by:
    `previous` in class `RegularTimePeriod`
  Returns:
    The second preceding this one.

### next

    public RegularTimePeriod next()

  Returns the second following this one.

  Specified by:
    `next` in class `RegularTimePeriod`
  Returns:
    The second following this one.

### getSerialIndex

    public long getSerialIndex()

  Returns a serial index number for the minute.

  Specified by:
    `getSerialIndex` in class `RegularTimePeriod`
  Returns:
    The serial index number.

### getFirstMillisecond

    public long getFirstMillisecond(java.util.Calendar calendar)

  Returns the first millisecond of the minute.

  Specified by:
    `getFirstMillisecond` in class `RegularTimePeriod`
  Parameters:
    `calendar` - the calendar/timezone.
  Returns:
    The first millisecond.

### getLastMillisecond

    public long getLastMillisecond(java.util.Calendar calendar)

  Returns the last millisecond of the second.

  Specified by:
    `getLastMillisecond` in class `RegularTimePeriod`
  Parameters:
    `calendar` - the calendar/timezone.
  Returns:
    The last millisecond.

### equals

    public boolean equals(java.lang.Object obj)

  Tests the equality of this object against an arbitrary Object.

  This method will return true ONLY if the object is a Second object representing the same second as this instance.

  Parameters:
    `obj` - the object to compare.
  Returns:
    `true` if second and minute of this and the object are the same.

### hashCode

    public int 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`

  Returns:
    A hash code.

### compareTo

    public int compareTo(java.lang.Object o1)

  Returns an integer indicating the order of this Second object relative to the specified object: negative == before, zero == same, positive == after.

  Specified by:
    `compareTo` in interface `java.lang.Comparable`
  Parameters:
    `o1` - the object to compare.
  Returns:
    negative == before, zero == same, positive == after.

### parseSecond

    public static Second parseSecond(java.lang.String s)

  Creates a new instance by parsing a string. The string is assumed to be in the format "YYYY-MM-DD HH:MM:SS", perhaps with leading or trailing whitespace.

  Parameters:
    `s` - the string to parse.
  Returns:
    The second, or `null` if the string is not parseable.