12 Replies Latest reply: Oct 16, 2007 2:44 PM by 807592 RSS

    changing a 24 hour clock to a 12 hour clock

    807590
      could somone please show me how to change this clock object to display 12 hour time instead of 24? using AM and PM as well? i've wrote this 24 hour clock from a walkthrough but cant figure out how to change it to a 12 hour clock? heres the code:
      /** 
      * The ClockDisplay class implements a digital clock display for a 
      * European-style 24 hour clock. The clock shows hours and minutes. The 
      * range of the clock is 00:00 (midnight) to 23:59 (one minute before 
      * midnight). 
      * 
      * The clock display receives "ticks" (via the timeTick method) every minute 
      * and reacts by incrementing the display. This is done in the usual clock 
      * fashion: the hour increments when the minutes roll over to zero. 
      * 
      * @author Michael Kolling and David J. Barnes 
      * @version 2001.05.26 
      */ 
      public class ClockDisplay 
      { 
      private NumberDisplay hours; 
      private NumberDisplay minutes; 
      private String displayString; // simulates the actual display 
      
      /** 
      * Constructor for ClockDisplay objects. This constructor 
      * creates a new clock set at 00:00. 
      */ 
      public ClockDisplay() 
      { 
      hours = new NumberDisplay(24); 
      minutes = new NumberDisplay(60); 
      updateDisplay(); 
      } 
      
      /** 
      * Constructor for ClockDisplay objects. This constructor 
      * creates a new clock set at the time specified by the 
      * parameters. 
      */ 
      public ClockDisplay(int hour, int minute) 
      { 
      hours = new NumberDisplay(24); 
      minutes = new NumberDisplay(60); 
      setTime(hour, minute); 
      } 
      
      /** 
      * This method should get called once every minute - it makes 
      * the clock display go one minute forward. 
      */ 
      public void timeTick() 
      { 
      minutes.increment(); 
      if(minutes.getValue() == 0) { // it just rolled over! 
      hours.increment(); 
      } 
      updateDisplay(); 
      } 
      
      /** 
      * Set the time of the display to the specified hour and 
      * minute. 
      */ 
      public void setTime(int hour, int minute) 
      { 
      hours.setValue(hour); 
      minutes.setValue(minute); 
      updateDisplay(); 
      } 
      
      /** 
      * Return the current time of this display in the format HH:MM. 
      */ 
      public String getTime() 
      { 
      return displayString; 
      } 
      
      /** 
      * Update the internal string that represents the display. 
      */ 
      private void updateDisplay() 
      { 
      displayString = hours.getDisplayValue() + ":" + 
      minutes.getDisplayValue(); 
      } 
      }