mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-10 07:39:16 +00:00
ICU-6726 Integrate changes back into ICU4C trunk
X-SVN-Rev: 25653
This commit is contained in:
parent
9d0666f840
commit
b0c73cc54b
4 changed files with 42 additions and 31 deletions
|
@ -265,31 +265,31 @@ void RelativeDateFormat::loadDates(UErrorCode &status) {
|
|||
int32_t resStrLen = 0;
|
||||
|
||||
int32_t glueIndex = kDateTime;
|
||||
switch (fDateStyle) {
|
||||
case kFullRelative:
|
||||
case kFull:
|
||||
// glueIndex is always kDateTime
|
||||
break;
|
||||
case kLongRelative:
|
||||
case kLong:
|
||||
if (patternsSize > (kDateTime + kLong)) {
|
||||
glueIndex = kDateTime + kLong;
|
||||
}
|
||||
break;
|
||||
case kMediumRelative:
|
||||
case kMedium:
|
||||
if (patternsSize > (kDateTime + kMedium)) {
|
||||
glueIndex = kDateTime + kMedium;
|
||||
}
|
||||
break;
|
||||
case kShortRelative:
|
||||
case kShort:
|
||||
if (patternsSize > (kDateTime + kShort)) {
|
||||
glueIndex = kDateTime + kShort;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
if ((patternsSize > DateFormat::kDateTimeOffset) &&
|
||||
(patternsSize >= (DateFormat::kDateTimeOffset + DateFormat::kShort + 1))
|
||||
) {
|
||||
// Get proper date time format
|
||||
switch (fDateStyle) {
|
||||
case kFullRelative:
|
||||
case kFull:
|
||||
glueIndex = kDateTimeOffset + kFull;
|
||||
break;
|
||||
case kLongRelative:
|
||||
case kLong:
|
||||
glueIndex = kDateTimeOffset + kLong;
|
||||
break;
|
||||
case kMediumRelative:
|
||||
case kMedium:
|
||||
glueIndex = kDateTimeOffset + kMedium;
|
||||
break;
|
||||
case kShortRelative:
|
||||
case kShort:
|
||||
glueIndex = kDateTimeOffset + kShort;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const UChar *resStr = ures_getStringByIndex(dateTimePatterns, glueIndex, &resStrLen, &tempStatus);
|
||||
|
|
|
@ -573,8 +573,10 @@ void SimpleDateFormat::construct(EStyle timeStyle,
|
|||
|
||||
int32_t glueIndex = kDateTime;
|
||||
int32_t patternsSize = ures_getSize(dateTimePatterns);
|
||||
if (patternsSize > kDateTime + 1) {
|
||||
glueIndex = (int32_t)(kDateTime + (dateStyle - kDateOffset));
|
||||
if ((patternsSize > kDateTimeOffset) &&
|
||||
(patternsSize >= (kDateTimeOffset + kShort + 1))) {
|
||||
// Get proper date time format
|
||||
glueIndex = (int32_t)(kDateTimeOffset + (dateStyle - kDateOffset));
|
||||
}
|
||||
|
||||
resStr = ures_getStringByIndex(dateTimePatterns, glueIndex, &resStrLen, &status);
|
||||
|
|
|
@ -141,8 +141,8 @@ public:
|
|||
/**
|
||||
* Constants for various style patterns. These reflect the order of items in
|
||||
* the DateTimePatterns resource. There are 4 time patterns, 4 date patterns,
|
||||
* and then the date-time pattern. Each block of 4 values in the resource occurs
|
||||
* in the order full, long, medium, short.
|
||||
* the default date-time pattern, and 4 date-time patterns. Each block of 4 values
|
||||
* in the resource occurs in the order full, long, medium, short.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
enum EStyle
|
||||
|
@ -161,6 +161,13 @@ public:
|
|||
// kShort + kDateOffset = 7
|
||||
|
||||
kDateTime = 8,
|
||||
// Default DateTime
|
||||
|
||||
kDateTimeOffset = kDateTime + 1,
|
||||
// kFull + kDateTimeOffset = 9
|
||||
// kLong + kDateTimeOffset = 10
|
||||
// kMedium + kDateTimeOffset = 11
|
||||
// kShort + kDateTimeOffset = 12
|
||||
|
||||
// relative dates
|
||||
kRelative = (1 << 7),
|
||||
|
|
|
@ -76,8 +76,10 @@ UnicodeString* Win32DateFormat::getTimeDateFormat(const Calendar *cal, const Loc
|
|||
int32_t resStrLen = 0;
|
||||
int32_t glueIndex = DateFormat::kDateTime;
|
||||
int32_t patSize = ures_getSize(patBundle);
|
||||
if (patSize > DateFormat::kDateTime + 1) {
|
||||
glueIndex = (int32_t)(DateFormat::kDateTime + (fDateStyle - DateFormat::kDateOffset));
|
||||
if ((patSize > DateFormat::kDateTimeOffset) &&
|
||||
(patSize >= (DateFormat::kDateTimeOffset + DateFormat::kShort + 1))) {
|
||||
// Get proper date time format
|
||||
glueIndex = (int32_t)(DateFormat::kDateTimeOffset + (fDateStyle - DateFormat::kDateOffset));
|
||||
}
|
||||
const UChar *resStr = ures_getStringByIndex(patBundle, glueIndex, &resStrLen, &status);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue