Class Second

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

public class Second
extends RegularTimePeriod
implements 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 Details

    • 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 Details

    • 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​(Date time)
      Constructs a second.
      Parameters:
      time - the time.
    • Second

      public Second​(Date time, 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 Details

    • 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​(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​(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​(Object object)
      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.

      Overrides:
      equals in class Object
      Parameters:
      object - 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

      Overrides:
      hashCode in class Object
      Returns:
      A hash code.
    • compareTo

      public int compareTo​(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 Comparable
      Parameters:
      o1 - the object to compare.
      Returns:
      negative == before, zero == same, positive == after.
    • parseSecond

      public static Second parseSecond​(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.