Package edu.princeton.cs.algs4
Class Date
- Object
-
- edu.princeton.cs.algs4.Date
-
- All Implemented Interfaces:
Comparable<Date>
public class Date extends Object implements Comparable<Date>
TheDate
class is an immutable data type to encapsulate a date (day, month, and year).For additional documentation, see Section 1.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
- Author:
- Robert Sedgewick, Kevin Wayne
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(Date that)
Compares two dates chronologically.int
day()
Returns the day.boolean
equals(Object other)
Compares this date to the specified date.int
hashCode()
Returns an integer hash code for this date.boolean
isAfter(Date that)
Compares two dates chronologically.boolean
isBefore(Date that)
Compares two dates chronologically.static void
main(String[] args)
Unit tests theDate
data type.int
month()
Return the month.Date
next()
Returns the next date in the calendar.String
toString()
Returns a string representation of this date.int
year()
Returns the year.
-
-
-
Constructor Detail
-
Date
public Date(int month, int day, int year)
Initializes a new date from the month, day, and year.- Parameters:
month
- the month (between 1 and 12)day
- the day (between 1 and 28-31, depending on the month)year
- the year- Throws:
IllegalArgumentException
- if this date is invalid
-
Date
public Date(String date)
Initializes new date specified as a string in form MM/DD/YYYY.- Parameters:
date
- the string representation of this date- Throws:
IllegalArgumentException
- if this date is invalid
-
-
Method Detail
-
month
public int month()
Return the month.- Returns:
- the month (an integer between 1 and 12)
-
day
public int day()
Returns the day.- Returns:
- the day (an integer between 1 and 31)
-
year
public int year()
Returns the year.- Returns:
- the year
-
next
public Date next()
Returns the next date in the calendar.- Returns:
- a date that represents the next day after this day
-
isAfter
public boolean isAfter(Date that)
Compares two dates chronologically.- Parameters:
that
- the other date- Returns:
true
if this date is after that date;false
otherwise
-
isBefore
public boolean isBefore(Date that)
Compares two dates chronologically.- Parameters:
that
- the other date- Returns:
true
if this date is before that date;false
otherwise
-
compareTo
public int compareTo(Date that)
Compares two dates chronologically.- Specified by:
compareTo
in interfaceComparable<Date>
- Returns:
- the value
0
if the argument date is equal to this date; a negative integer if this date is chronologically less than the argument date; and a positive integer if this date is chronologically after the argument date
-
toString
public String toString()
Returns a string representation of this date.
-
equals
public boolean equals(Object other)
Compares this date to the specified date.
-
hashCode
public int hashCode()
Returns an integer hash code for this date.
-
main
public static void main(String[] args)
Unit tests theDate
data type.- Parameters:
args
- the command-line arguments
-
-