[
https://issues.apache.org/jira/browse/LANG-1680?focusedWorklogId=770491&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-770491
]
ASF GitHub Bot logged work on LANG-1680:
----------------------------------------
Author: ASF GitHub Bot
Created on: 14/May/22 13:20
Start Date: 14/May/22 13:20
Worklog Time Spent: 10m
Work Description: garydgregory commented on code in PR #892:
URL: https://github.com/apache/commons-lang/pull/892#discussion_r872979099
##########
src/main/java/org/apache/commons/lang3/time/DateUtils.java:
##########
@@ -1831,4 +1831,40 @@ public void remove() {
}
}
+ /**
+ * Obtain full standalone month names as used in "LLLL" date formatting.
+ * @param locale Locale
+ * @return Long names of months
+ */
+ static String[] getStandaloneLongMonths(final Locale locale) {
+ // Unfortunately standalone month names are not available in
DateFormatSymbols,
+ // so we have to extract them.
+ final Calendar calendar = Calendar.getInstance(locale);
+ final int monthCount = calendar.getMaximum(Calendar.MONTH) + 1;
+ final String[] monthNames = new String[monthCount];
+ for (int i = 0; i < monthCount; i++) {
+ calendar.set(Calendar.MONTH, i);
+ monthNames[i] = calendar.getDisplayName(Calendar.MONTH,
Calendar.LONG_STANDALONE, locale);
+ }
+ return monthNames;
+ }
+
+ /**
+ * Obtain short standalone month names as used in "LLLL" date formatting.
+ * @param locale Locale
+ * @return Short names of months
+ */
+ static String[] getStandaloneShortMonths(final Locale locale) {
+ // Unfortunately standalone month names are not available in
DateFormatSymbols,
+ // so we have to extract them.
+ final Calendar calendar = Calendar.getInstance(locale);
+ final int monthCount = calendar.getMaximum(Calendar.MONTH) + 1;
+ final String[] monthNames = new String[monthCount];
+ for (int i = 0; i < monthCount; i++) {
+ calendar.set(Calendar.MONTH, i);
+ monthNames[i] = calendar.getDisplayName(Calendar.MONTH,
Calendar.SHORT_STANDALONE, locale);
+ }
+ return monthNames;
+ }
Review Comment:
These two methods are identical except for Calendar.SHORT_STANDALONE vs.
Calendar.LONG_STANDALONE? Why duplicate? Javadoc: "Obtain..." -> "Gets..."
Issue Time Tracking
-------------------
Worklog Id: (was: 770491)
Time Spent: 1h 40m (was: 1.5h)
> FastDateFormat does not support the 'L'-Pattern from SimpleDateFormat
> ---------------------------------------------------------------------
>
> Key: LANG-1680
> URL: https://issues.apache.org/jira/browse/LANG-1680
> Project: Commons Lang
> Issue Type: Bug
> Components: lang.time.*
> Affects Versions: 3.12.0
> Environment: All
> Reporter: Michael Krause
> Priority: Minor
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> The MMM-Pattern in SimpleDateFormat is context-sensitve.
> If you execute
> {{{{FastDateFormat.getInstance("MMMyy",
> Locale.GERMAN).format(Calendar.getInstance())}}}}
> You get "Jan.22". Observer the dot after 'Jan'. If you do the equivalent
> with SimpleDateFormat with 'LLLyy' instead as the pattern
> {{{{new SimpleDateFormat("LLLyy",
> Locale.GERMANY).format(Calendar.getInstance().getTime());}}}}
> you get "Jan22" as expected.
>
> If the 'L'-Pattern is used with FastDateFormat, it throws an
> IllegalArgumentException
> {{java.lang.IllegalArgumentException: Illegal pattern component: LLL}}{{
> at
> org.apache.commons.lang3.time.FastDatePrinter.parsePattern(FastDatePrinter.java:311)}}{{
> }}
> {{The Source shows that the L-Pattern is not implemented.}}
>
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)