diff options
-rw-r--r-- | svl/source/numbers/zforfind.cxx | 7 | ||||
-rw-r--r-- | svl/source/numbers/zforlist.cxx | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx index 61af0c9c3c6a..e1059936ea41 100644 --- a/svl/source/numbers/zforfind.cxx +++ b/svl/source/numbers/zforfind.cxx @@ -1047,6 +1047,13 @@ bool ImpSvNumberInputScan::CanForceToIso8601( DateOrder eDateOrder ) } else { + if (eDateOrder == DateOrder::Invalid) + { + // As if any of the cases below can be applied, but only if a + // locale dependent date pattern was not matched. + return (GetDatePatternNumbers() != nNumericsCnt) || !IsDatePatternNumberOfType(0,'Y'); + } + nCanForceToIso8601 = 1; } diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx index 8099fe888c33..a8abeca2e01a 100644 --- a/svl/source/numbers/zforlist.cxx +++ b/svl/source/numbers/zforlist.cxx @@ -1097,7 +1097,7 @@ bool SvNumberFormatter::IsNumberFormat(const OUString& sString, { case css::util::NumberFormat::DATE : // Preserve ISO 8601 input. - if (pStringScanner->CanForceToIso8601( DateOrder::DMY)) + if (pStringScanner->CanForceToIso8601( DateOrder::Invalid)) { F_Index = GetFormatIndex( NF_DATE_DIN_YYYYMMDD, ActLnge ); } |