Created attachment 127275 [details] Excel XLSM file (XLS with macros) Opens the file, goes to worksheet "Zeiten" (should be shown by default) Result with LO 5.2.1.2: * For the time values, "####" is shown; making the cell wider, it shows, e.g., "2:12:09 nachm." - The locale field shows "[$-F400]H:MM:SS AM/PM" Expected as with MSO Excel 2007 on the same system: * The time is shown as "14:12:09" as in Excel [Default time value; the Excel "Format cell" dialog shows the note: "Time formats that begin with an asterisk (*) resopnd to changes in regional date and time settings that are specified for the operating system" where Type is "*13:30:55" - and in this dialog the default: "Locale (location): English (United States)" [cf. below.]) That's under Window 7 with the English version of MSO, the English interface of LO and Windows locale settings: | Format: English (United States) | Short time: H:mm (! - note: default for the US is: H:mm tt) | Long time: H:mm:ss (!) The document's language is (effectively at least, I don't know what MSO wrote to the file) German.
Confirmed. Win 8.1 32-bit MSO 2013 LibO Version: 5.3.0.0.alpha0+ Build ID: 970a66f8c919ea0524f216f40d21b3e2a8c88ccc CPU Threads: 4; OS Version: Windows 6.2; UI Render: default; TinderBox: Win-x86@62-merge-TDF, Branch:MASTER, Time: 2016-10-16_00:03:17 Locale: fi-FI (fi_FI); Calc: group
Need to implement the [$-400] ("process or user default") and [$-800] ("system default") locale modifiers in some sensible manner. The given format code is to be ignored and the actual "User defined Regional Settings" (even if they don't exist (yet)) or "System" defaults are to be taken.
Actually it's [$-F400] for time format as defined for the current system locale, and [$-F800] for long date format as defined for the current system locale. It seems the rest of the format code is entirely ignored in these two cases. There appears to be no documentation other than in ECMA-376:2016 18.8.31 numFmts (Number Formats) at the very end of the last table (page 1791/1792), "Special language info values:" "0xf800: System long date format" and "0xf400: System time format". (Note that does not define <Currency String> being optional, but in fact it is.)
Same at https://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.numberingformats.aspx
Eike Rathke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=7901ede8a63f41aea707bd19c22f834253161378 Add 0xF400 and 0xF800 constants for number format code modifiers, tdf#102075 It will be available in 6.0.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Eike Rathke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5be8c9cc1b92101e6f9fe5685df86e77d3eee3cc Resolves: tdf#102075 support system [$-F400] time and [$-F800] long date It will be available in 6.0.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.