Class Time100

java.lang.Object
  extended byTime100

public class Time100
extends Object

An instance represents the time of day in a time zone, in terms of hours, minutes, and seconds. The implemented time zones are:

GMT: Greenwich Mean Time, GMT
BST: British Summer Time, GMT+1
EST: Eastern Standard Time, GMT-5 hours (NY)
EDT: Eastern Daylight Savings Time, GMT-4 hours (NY)
CST: Central Standard Time, GMT-6 hours (Chicago)
CDT: Central Daylight Savings Time, GMT-5 hours (Chicago)
MST: Mountain Standard Time, GMT-7 hours (Phoenix)
MDT: Mountain Daylight Savings Time, GMT-6 (Phoenix)
PST: Pacific Standard Time, GMT-8 hours (LA)
PDT: Pacific Daylight Saving Time, GMT-7 hours (LA)
IND: India time, GMT+5:30 hours (New Delhi)

India (IND) is included only to show that times are not always on hourly boundaries from GMT.

A time may appear negative or greater than 24 hours. This is because we allow a conversion of a time from one time zone to another, and a time of 0 hours GMT is -7 hours PDT (for example), while a time of 23:59 GMT is 29:29 IND.

An instance of the class can show the time using a 24-hour clock or using the AM-PM designation; it is the user's choice.


Field Summary
static String BST
           
static String CDT
           
static String CST
           
static String EDT
           
static String EST
           
static String GMT
           
static String IND
           
static String MDT
           
static String MST
           
static String PDT
           
static String PST
           
 
Constructor Summary
Time100()
          Constructor: an instance with time 0 in GMT and a 24-hour clock.
Time100(int h, int m, int s, String z, boolean b)
          Constructor: A time of day of h hours, m minutes, and s seconds in zone z.
Time100(int s, String z, boolean b)
          Constructor: A time of day of s seconds in zone z.
 
Method Summary
 int compareTo(Time100 t)
          = -1 if this time < time t, 0 if this time equals time t, and 1 if this time > time t
 boolean getAmPm()
          = the am-pm indication.
 int getTime()
          = the time, in seconds.
 String getZone()
          = the time zone.
 void setDisplay(boolean b)
          If b is true, set the display mode to AM-PM; if b is false, set it to "twenty-four hours".
 Time100 timeInGMT()
          = a new Time that is the same as this time but described in GMT
 Time100 timeInZone(String z)
          = a new Time that is the same as this time but described in zone z.
 String toString()
          = a string representation of the time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

GMT

public static final String GMT
See Also:
Constant Field Values

BST

public static final String BST
See Also:
Constant Field Values

EST

public static final String EST
See Also:
Constant Field Values

EDT

public static final String EDT
See Also:
Constant Field Values

CST

public static final String CST
See Also:
Constant Field Values

CDT

public static final String CDT
See Also:
Constant Field Values

MST

public static final String MST
See Also:
Constant Field Values

MDT

public static final String MDT
See Also:
Constant Field Values

PST

public static final String PST
See Also:
Constant Field Values

PDT

public static final String PDT
See Also:
Constant Field Values

IND

public static final String IND
See Also:
Constant Field Values
Constructor Detail

Time100

public Time100()
Constructor: an instance with time 0 in GMT and a 24-hour clock. Note that this constructor is complete.


Time100

public Time100(int s,
               String z,
               boolean b)
Constructor: A time of day of s seconds in zone z. Value s should be greater than -24 hours and less than +48 hours; if not, the time 0 is used. If z is not a legal zone, make it GMT. The time should be displayed as am-pm iff b is true


Time100

public Time100(int h,
               int m,
               int s,
               String z,
               boolean b)
Constructor: A time of day of h hours, m minutes, and s seconds in zone z. The time should be greater than -24 hours and less than +48 hours; if not, the time 0 is used. If z is not a legal zone, make it GMT. The time should be displayed as am-pm iff b is true

Method Detail

getTime

public int getTime()
= the time, in seconds.


getZone

public String getZone()
= the time zone.


getAmPm

public boolean getAmPm()
= the am-pm indication. --true means display in AM-PM format; false means display in 24-hour format.


setDisplay

public void setDisplay(boolean b)
If b is true, set the display mode to AM-PM; if b is false, set it to "twenty-four hours".


toString

public String toString()
= a string representation of the time. This is basically in the form "hours:minutes:seconds zone", but it differs depending on whether a 12- or 24-hour clock is wanted. We describe the difference with examples:

In AM-PM mode, output could be: 06:20:05AM DST or 06:20:05PM DST
In 24-hour mode output could be: 06:20:05 DST or 18:20:05 DST

If the time is negative or at least 24 hours, print it using the 24-hour mode, even if 12-hour mode is indicated.

The string representation MUST follow the rules gives in the notes at the end of the handout for assignment A3, Fall 2005, CS100J.


timeInGMT

public Time100 timeInGMT()
= a new Time that is the same as this time but described in GMT


timeInZone

public Time100 timeInZone(String z)
= a new Time that is the same as this time but described in zone z. If z is not a legal zone, the new zone is taken to be GMT


compareTo

public int compareTo(Time100 t)
= -1 if this time < time t, 0 if this time equals time t, and 1 if this time > time t