summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2018-08-16 18:00:29 +0200
committerCaolán McNamara <caolanm@redhat.com>2018-08-22 09:22:12 +0200
commit7ce8689eaa9cab85193d031b911331c9675b77bc (patch)
tree379969e9e1a3c65dfdd3eae49c4a1ea367a67da3
parent886b39fbd4f2401922b1c5af0a06ad09efb59d93 (diff)
Do not convert YMD date order to YDM and vice versa, tdf#107012 follow-up
Change-Id: I6362caae4dd0764a5f99f1b0453c17ecde4b53f1 Reviewed-on: https://gerrit.libreoffice.org/59213 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit a4c9e4539ee82c409add42e68329d4eb1100d62f) Reviewed-on: https://gerrit.libreoffice.org/59243 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--svl/source/numbers/zforscan.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index e6285cf3bb3a..ed5f959d9ae6 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -2974,7 +2974,11 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString )
switch (pLoc->getDateOrder())
{
case DateOrder::MDY:
- if (IsDateFragment( nDayPos, nMonthPos))
+ // Convert only if the actual format is not of YDM
+ // order (which would be a completely unusual order
+ // anyway, but..), e.g. YYYY.DD.MM not to
+ // YYYY/MM/DD
+ if (IsDateFragment( nDayPos, nMonthPos) && !IsDateFragment( nYearPos, nDayPos))
SwapArrayElements( nDayPos, nMonthPos);
break;
case DateOrder::YMD:
@@ -2997,7 +3001,10 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString )
switch (pLoc->getDateOrder())
{
case DateOrder::DMY:
- if (IsDateFragment( nMonthPos, nDayPos))
+ // Convert only if the actual format is not of YMD
+ // order, e.g. YYYY/MM/DD not to YYYY.DD.MM
+ /* TODO: convert such to DD.MM.YYYY instead? */
+ if (IsDateFragment( nMonthPos, nDayPos) && !IsDateFragment( nYearPos, nMonthPos))
SwapArrayElements( nMonthPos, nDayPos);
break;
case DateOrder::YMD: