bug-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug classpath/64174] New: Week of year field during end of year transit


From: gnu_andrew at member dot fsf.org
Subject: [Bug classpath/64174] New: Week of year field during end of year transition is incorrect
Date: Wed, 03 Dec 2014 21:04:04 +0000

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64174

            Bug ID: 64174
           Summary: Week of year field during end of year transition is
                    incorrect
           Product: classpath
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: classpath
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gnu_andrew at member dot fsf.org

$ cat TestCD.java 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;

public class TestCD
{
  public static void main(String[] args)
    throws ParseException
  {
    SimpleDateFormat format;
    Calendar calendar;
    long time;

    format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.US);
    format.setTimeZone(TimeZone.getTimeZone("GMT"));
    format.setLenient(false);
    calendar = format.getCalendar();
    System.out.println("First day of week: " + calendar.getFirstDayOfWeek());
    System.out.println("Minimal days in first week: " +
calendar.getMinimalDaysInFirstWeek());
    time = format.parse("2014-12-31-22-00-00").getTime();
    calendar.setTimeInMillis(time);
    System.out.println(calendar);
  }
}

$ gij TestCD
First day of week: 1
Minimal days in first week: 1
Exception in thread "main" java.text.ParseException: invalid Date syntax in
"2014-12-31-22-00-00"
   at java.text.DateFormat.parse(libgcj.so.15)
   at TestCD.main(TestCD.java:23)

This is due to the GregorianCalendar code throwing:

java.lang.IllegalArgumentException: Illegal WEEK_OF_YEAR.
   at java.util.GregorianCalendar.nonLeniencyCheck(GregorianCalendar.java:449)
   at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:528)
   at java.util.Calendar.complete(Calendar.java:1002)
   at java.util.Calendar.clear(Calendar.java:977)
   at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1214)
   at java.text.DateFormat.parse(DateFormat.java:866)

Expected result:

$ /usr/lib/jvm/icedtea-7/bin/java TestCD
First day of week: 1
Minimal days in first week: 1
java.util.GregorianCalendar[time=1420063200000,areFieldsSet=true,areAllFieldsSet=true,lenient=false,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2014,MONTH=11,WEEK_OF_YEAR=1,WEEK_OF_MONTH=5,DAY_OF_MONTH=31,DAY_OF_YEAR=365,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=0,DST_OFFSET=0]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]