/[classpath]/classpath/java/util/Calendar.java
ViewVC logotype

Diff of /classpath/java/util/Calendar.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.25.2.9 by gnu_andrew, Thu Feb 3 00:55:47 2005 UTC revision 1.25.2.10 by gnu_andrew, Sun Feb 6 02:24:18 2005 UTC
# Line 684  public abstract class Calendar Line 684  public abstract class Calendar
684      fields[field] = value;      fields[field] = value;
685      isSet[field] = true;      isSet[field] = true;
686    
687      // The five valid date patterns, in order of validity      // The five valid date patterns, in order of priority
688      // 1  YEAR + MONTH + DAY_OF_MONTH      // 1  YEAR + MONTH + DAY_OF_MONTH
689      // 2  YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK      // 2  YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
690      // 3  YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK      // 3  YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
# Line 828  public abstract class Calendar Line 828  public abstract class Calendar
828    {    {
829      isTimeSet = false;      isTimeSet = false;
830      areFieldsSet = false;      areFieldsSet = false;
831        int zoneOffs = zone.getRawOffset();
832    
833      int hour = fields[ZONE_OFFSET] / (60 * 60 * 1000);      int hour = zoneOffs / (60 * 60 * 1000);
834      int minute = (fields[ZONE_OFFSET] - 60 * 60 * 1000 * hour) / (60 * 1000);      int minute = (zoneOffs - 60 * 60 * 1000 * hour) / (60 * 1000);
835      int seconds = (fields[ZONE_OFFSET] - 60 * 60 * 1000 * hour      int seconds = (zoneOffs - 60 * 60 * 1000 * hour - 60 * 1000 * minute) / 1000;
836                    - 60 * 1000 * minute) / 1000;      int millis = zoneOffs - 60 * 60 * 1000 * hour - 60 * 1000 * minute
837      int millis = fields[ZONE_OFFSET] - 60 * 60 * 1000 * hour                   - seconds * 1000;
                  - 60 * 1000 * minute - seconds * 1000;  
838      int[] tempFields =      int[] tempFields =
839                         {                         {
840                           1, 1970, JANUARY, 1, 1, 1, 1, THURSDAY, 1, AM, hour,                           1, 1970, JANUARY, 1, 1, 1, 1, THURSDAY, 1, AM, hour,
841                           hour, minute, seconds, millis, fields[ZONE_OFFSET],                           hour, minute, seconds, millis, zoneOffs, 0
                          fields[DST_OFFSET]  
842                         };                         };
843      fields = tempFields;      fields = tempFields;
844      for (int i = 0; i < FIELD_COUNT - 2; i++)      for (int i = 0; i < FIELD_COUNT; i++)
845        isSet[i] = false;        isSet[i] = false;
     isSet[ZONE_OFFSET] = isSet[DST_OFFSET] = true;  
846    }    }
847    
848    /**    /**
# Line 856  public abstract class Calendar Line 854  public abstract class Calendar
854     */     */
855    public final void clear(int field)    public final void clear(int field)
856    {    {
857        int[] tempFields =
858                           {
859                             1, 1970, JANUARY, 1, 1, 1, 1, THURSDAY, 1, AM, 0, 0, 0,
860                             0, 0, zone.getRawOffset(), 0
861                           };
862      isTimeSet = false;      isTimeSet = false;
863      areFieldsSet = false;      areFieldsSet = false;
864      isSet[field] = false;      isSet[field] = false;
865      fields[field] = 0;      fields[field] = tempFields[field];
866    }    }
867    
868    /**    /**

Legend:
Removed from v.1.25.2.9  
changed lines
  Added in v.1.25.2.10

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26