mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-14 01:11:02 +00:00
ICU-13478 Fix J SimpleDateFormat handling of pattern fields b,bb
X-SVN-Rev: 40680
This commit is contained in:
parent
2ec1aa972e
commit
c61c9609a3
2 changed files with 30 additions and 9 deletions
|
@ -1913,7 +1913,7 @@ public class SimpleDateFormat extends DateFormat {
|
|||
// 12 am is 12 midnight, and 12 pm is 12 noon.
|
||||
value = cal.get(Calendar.AM_PM);
|
||||
|
||||
if (count == 3) {
|
||||
if (count <= 3) {
|
||||
toAppend = formatData.abbreviatedDayPeriods[value];
|
||||
} else if (count == 4 || count > 5) {
|
||||
toAppend = formatData.wideDayPeriods[value];
|
||||
|
|
|
@ -4939,19 +4939,19 @@ public class DateFormatTest extends TestFmwk {
|
|||
long k180000 = 1447437600000L;
|
||||
|
||||
// Short.
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss bbb");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss bbb", Locale.ENGLISH);
|
||||
sdf.setTimeZone(TimeZone.GMT_ZONE);
|
||||
|
||||
// Note: "midnight" can be ambiguous as to whether it refers to beginning of day or end of day.
|
||||
// For ICU 57 output of "midnight" is temporarily suppressed.
|
||||
|
||||
// assertEquals("hh:mm:ss bbbb | 00:00:00", "12:00:00 midnight", sdf.format(k000000));
|
||||
assertEquals("hh:mm:ss bbbb | 00:00:00", "12:00:00 AM", sdf.format(k000000));
|
||||
assertEquals("hh:mm:ss bbbb | 00:00:30", "12:00:30 AM", sdf.format(k000030));
|
||||
assertEquals("hh:mm:ss bbbb | 00:30:00", "12:30:00 AM", sdf.format(k003000));
|
||||
assertEquals("hh:mm:ss bbbb | 06:00:00", "06:00:00 AM", sdf.format(k060000));
|
||||
assertEquals("hh:mm:ss bbbb | 12:00:00", "12:00:00 noon", sdf.format(k120000));
|
||||
assertEquals("hh:mm:ss bbbb | 18:00:00", "06:00:00 PM", sdf.format(k180000));
|
||||
// assertEquals("hh:mm:ss bbb | 00:00:00", "12:00:00 midnight", sdf.format(k000000));
|
||||
assertEquals("hh:mm:ss bbb | 00:00:00", "12:00:00 AM", sdf.format(k000000));
|
||||
assertEquals("hh:mm:ss bbb | 00:00:30", "12:00:30 AM", sdf.format(k000030));
|
||||
assertEquals("hh:mm:ss bbb | 00:30:00", "12:30:00 AM", sdf.format(k003000));
|
||||
assertEquals("hh:mm:ss bbb | 06:00:00", "06:00:00 AM", sdf.format(k060000));
|
||||
assertEquals("hh:mm:ss bbb | 12:00:00", "12:00:00 noon", sdf.format(k120000));
|
||||
assertEquals("hh:mm:ss bbb | 18:00:00", "06:00:00 PM", sdf.format(k180000));
|
||||
|
||||
sdf.applyPattern("hh:mm bbb");
|
||||
|
||||
|
@ -4960,6 +4960,7 @@ public class DateFormatTest extends TestFmwk {
|
|||
// assertEquals("hh:mm bbb | 00:00:30", "12:00 midnight", sdf.format(k000030));
|
||||
assertEquals("hh:mm bbb | 00:00:30", "12:00 AM", sdf.format(k000030));
|
||||
assertEquals("hh:mm bbb | 00:30:00", "12:30 AM", sdf.format(k003000));
|
||||
assertEquals("hh:mm bbb | 12:00:00", "12:00 noon", sdf.format(k120000));
|
||||
|
||||
sdf.applyPattern("hh bbb");
|
||||
|
||||
|
@ -4969,6 +4970,26 @@ public class DateFormatTest extends TestFmwk {
|
|||
assertEquals("hh bbb | 00:00:30", "12 AM", sdf.format(k000030));
|
||||
// assertEquals("hh bbb | 00:30:00", "12 midnight", sdf.format(k003000));
|
||||
assertEquals("hh bbb | 00:30:00", "12 AM", sdf.format(k003000));
|
||||
assertEquals("hh bbb | 12:00:00", "12 noon", sdf.format(k120000));
|
||||
|
||||
sdf.applyPattern("hh:mm b");
|
||||
|
||||
// assertEquals("hh:mm b | 00:00:00", "12:00 midnight", sdf.format(k000000));
|
||||
assertEquals("hh:mm b | 00:00:00", "12:00 AM", sdf.format(k000000));
|
||||
// assertEquals("hh:mm b | 00:00:30", "12:00 midnight", sdf.format(k000030));
|
||||
assertEquals("hh:mm b | 00:00:30", "12:00 AM", sdf.format(k000030));
|
||||
assertEquals("hh:mm b | 00:30:00", "12:30 AM", sdf.format(k003000));
|
||||
assertEquals("hh:mm b | 12:00:00", "12:00 noon", sdf.format(k120000));
|
||||
|
||||
sdf.applyPattern("hh b");
|
||||
|
||||
// assertEquals("hh b | 00:00:00", "12 midnight", sdf.format(k000000));
|
||||
assertEquals("hh b | 00:00:00", "12 AM", sdf.format(k000000));
|
||||
// assertEquals("hh b | 00:00:30", "12 midnight", sdf.format(k000030));
|
||||
assertEquals("hh b | 00:00:30", "12 AM", sdf.format(k000030));
|
||||
// assertEquals("hh b | 00:30:00", "12 midnight", sdf.format(k003000));
|
||||
assertEquals("hh b | 00:30:00", "12 AM", sdf.format(k003000));
|
||||
assertEquals("hh b | 12:00:00", "12 noon", sdf.format(k120000));
|
||||
|
||||
// Wide.
|
||||
sdf.applyPattern("hh:mm:ss bbbb");
|
||||
|
|
Loading…
Add table
Reference in a new issue