summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svl/source/numbers/zforfind.cxx7
-rw-r--r--svl/source/numbers/zforlist.cxx2
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 );
}