Commits

Anonymous committed dd63b54

QUARTZ-595 - account for timezone properly, particularly when expression includes last day of month and/or weekday selections.

git-svn-id: http://svn.opensymphony.com/svn/quartz/branches/quartz_1-6@71569f7d36a-ea1c-0410-88ea-9fd03e4c9665

  • Participants
  • Parent commits 9d37963
  • Branches quartz_1-6

Comments (0)

Files changed (1)

File src/java/org/quartz/CronExpression.java

      *         expression
      */
     public boolean isSatisfiedBy(Date date) {
-        Calendar testDateCal = Calendar.getInstance();
+        Calendar testDateCal = Calendar.getInstance(getTimeZone());
         testDateCal.setTime(date);
         testDateCal.set(Calendar.MILLISECOND, 0);
         Date originalDate = testDateCal.getTime();
         long difference = 1000;
         
         //move back to the nearest second so differences will be accurate
-        Calendar adjustCal = Calendar.getInstance();
+        Calendar adjustCal = Calendar.getInstance(getTimeZone());
         adjustCal.setTime(date);
         adjustCal.set(Calendar.MILLISECOND, 0);
         Date lastDate = adjustCal.getTime();
                         t = day;
                         day = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
                         
-                        java.util.Calendar tcal = java.util.Calendar.getInstance();
+                        java.util.Calendar tcal = java.util.Calendar.getInstance(getTimeZone());
                         tcal.set(Calendar.SECOND, 0);
                         tcal.set(Calendar.MINUTE, 0);
                         tcal.set(Calendar.HOUR_OF_DAY, 0);
                     t = day;
                     day = ((Integer) daysOfMonth.first()).intValue();
 
-                    java.util.Calendar tcal = java.util.Calendar.getInstance();
+                    java.util.Calendar tcal = java.util.Calendar.getInstance(getTimeZone());
                     tcal.set(Calendar.SECOND, 0);
                     tcal.set(Calendar.MINUTE, 0);
                     tcal.set(Calendar.HOUR_OF_DAY, 0);