commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominik Stadler (JIRA)" <j...@apache.org>
Subject [jira] [Created] (LANG-1192) FastDateFormat does not support the week-year component (uppercase 'Y')
Date Thu, 10 Dec 2015 08:16:10 GMT
Dominik Stadler created LANG-1192:
-------------------------------------

             Summary: FastDateFormat does not support the week-year component (uppercase 'Y')
                 Key: LANG-1192
                 URL: https://issues.apache.org/jira/browse/LANG-1192
             Project: Commons Lang
          Issue Type: Bug
          Components: lang.time.*
    Affects Versions: 3.5
            Reporter: Dominik Stadler


The Java SimpleDateFormat supports two year-components, 'y' for normal year and 'Y' for 'Week
year', see http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

However when we try to use FastDateFormat to parse a format which uses the week-year, it fails
with an exception

{noformat}
java.lang.IllegalArgumentException: Illegal pattern component: YYYY
	at org.apache.commons.lang3.time.FastDatePrinter.parsePattern(FastDatePrinter.java:282)
	at org.apache.commons.lang3.time.FastDatePrinter.init(FastDatePrinter.java:149)
	at org.apache.commons.lang3.time.FastDatePrinter.<init>(FastDatePrinter.java:142)
	at org.apache.commons.lang3.time.FastDateFormat.<init>(FastDateFormat.java:384)
	at org.apache.commons.lang3.time.FastDateFormat.<init>(FastDateFormat.java:369)
	at org.apache.commons.lang3.time.FastDateFormat$1.createInstance(FastDateFormat.java:91)
	at org.apache.commons.lang3.time.FastDateFormat$1.createInstance(FastDateFormat.java:88)
	at org.apache.commons.lang3.time.FormatCache.getInstance(FormatCache.java:82)
	at org.apache.commons.lang3.time.FastDateFormat.getInstance(FastDateFormat.java:119)
{noformat}

Simple unit test to reproduce this:

{code}
    @Test
    public void testCommonsLang() {
    	Date date = new Date();

    	Format dateFormat = new SimpleDateFormat("YYYY");
		assertNotNull(dateFormat.format(date));

        dateFormat = FastDateFormat.getInstance("YYYY");
		assertNotNull(dateFormat.format(date));
    }
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message