diff options
author | Eike Rathke <erack@redhat.com> | 2018-08-16 18:00:29 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-08-22 09:22:12 +0200 |
commit | 7ce8689eaa9cab85193d031b911331c9675b77bc (patch) | |
tree | 379969e9e1a3c65dfdd3eae49c4a1ea367a67da3 | |
parent | Resolves: tdf#119137 treat scalar non-reference non-array argument as matrix (diff) | |
download | core-7ce8689eaa9cab85193d031b911331c9675b77bc.tar.gz core-7ce8689eaa9cab85193d031b911331c9675b77bc.zip |
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.cxx | 11 |
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: |