[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]
- [Bug classpath/64174] New: Week of year field during end of year transition is incorrect,
gnu_andrew at member dot fsf.org <=