commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LANG-1192) FastDateFormat does not support the week-year component (uppercase 'Y')
Date Fri, 11 Dec 2015 18:11:11 GMT

    [ https://issues.apache.org/jira/browse/LANG-1192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15053127#comment-15053127
] 

Sebb commented on LANG-1192:
----------------------------

Comparison with http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html shows
that Java 7 added 'X', 'Y' and 'u'.
Only 'X' has been implemented so far.

> 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.4
>            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