Change date format in Zotero 5

I have followed these instructions, set intl.locale.matchOS to false, and set general.useragent.locale to en-GB.
But I still get the m/d/y format. My system is set to d/m/y. Windows 10.

Also, is there a way to remember the last UI settings? For example I like the right panel to be collapsed so I hide it, but everytime I reopen Zotero it reappears.

Thanks
  • Note that you don't need to adjust those settings in 5.0 — it's handled by the Language setting in the Advanced pane of the preferences.
    But I still get the m/d/y format. My system is set to d/m/y. Windows 10.
    Did you restart Zotero? (The Language setting does this for you. Try using that.)
    Also, is there a way to remember the last UI settings? For example I like the right panel to be collapsed so I hide it, but everytime I reopen Zotero it reappears.
    UI settings are remembered in general, but not that one, because people too easily close that and then can't find the pane again, so it restores on restart.
  • Thanks but I am not having any luck. I tried both italian and french but the date is still m/d. Also, I would like English but there is no US or GB english to select.

    Is there no setting in the about:config to control the side pane?
  • Oh, sorry, I missed that this was for English.

    I'd have to check this on Windows, but the date format shouldn't actually be affected by the locale chosen — it's just drawn from the OS settings. At least on macOS, if I have Zotero set to Automatic and change my OS Region to the UK, I get UK dates. If I have my OS set to US but set Zotero to French, I get US dates.

    Is that not what you're seeing?
  • You are right, I have to change the region of my OS (windows 10). But there must be a way to avoid doing this because I have changed the OS date formate to d/m/y, in fact file explorer and the other programs display the date correctly.
  • Oh, you're saying you have the Region set to US but the date format to d/m/y? I'm not sure if we're able to pick up the date format separately. Out of curiosity, what does the Region control that you would want set differently from the date format?
  • Good question, it changes for example calendars and language of the names of the days and months. It's not too clear however what other things are being changed. It changes numbers formatting, currency, time.

    I have found now a setting called English (World), which sets the date in zotero to d/m/y, so let's see how that goes.
  • edited November 9, 2017
    Hi, I did not understand what is the solution for this issue. I have more or less the same problem. The System locale of Windows 10 is set to English (UK), but if choose English in Zotero 5 preferences, I still have the US date format in the right pane, which means that if I type 1/11/2017 it takes the first digit as the month, which I don't want. Of course if I change the language preference in Zotero to Italian or French, it then takes the european format, but I don't want to change the menu to these languages I want to keep it in english. By the way I cannot change the OS system locale as don't have admin right on this machine - in any case this setting is currently set to UK english so it should display the date in th european format even with the zotero preference set to english. what am i missing here?
  • @mibigo: If you go to View -> Developer -> JavaScript Console in Chrome or menu panel -> Web Developer -> Web Console in Firefox and enter new Date().toLocaleDateString() and press Enter, what's the result?
  • Same issue here in Zot5: I cannot get rid of m/d/y and change it to d/m/y.

    I can change Windows 10 language from EN (US) to EN (UK) but that does not change anything in Zotero. In Office and Total Commander dates are d/m/y.

    I do not have the View -> Developer option in Firefox.

    Zot5 is not stand alone and fully disconnected from Firefox?

    @xxtraloud : where did you find an English (World) setting?
  • If you go to menu panel -> Web Developer -> Web Console in Firefox and enter new Date().toLocaleDateString() and press Enter, what's the result?
  • new Date().toLocaleDateString()
    "11/20/2017"
  • @danstillman: sorry I had missed you reply... I did the test, but the result is quite weird.. if i do that on one a firefoxportable browser I see the the date 1/29/2018.. on the "offcial" firefox installed on the PC I see 29/1/2018... I do not have the rights to admin nor to see even the dates and region settings on this PC, however I asked the ITC person and he said the seeting are on UK english. I can attach a Jpeg if necessary. The weird thing as said is that if I change the date seeting in zotero, to say Italian the european date is kept, but if I set it to english it takes the m/d/y format when entering a date in the date field... there shouls be the possibility to set this date format in a zotero setting rather than rely on windows settings, especially if you can't change OS settings (however this dosen not seem to be the case here.)
  • My locale is US, with date format showing 29-01-2018 in task bar and file manager. Zotero still assumes m/d/y if my entry is 12/12 or lower (it does recognize that there is no 13th month, so it switches to d/m/y if 13/12/2018).

    But: Outlook webmail also states "Sat 1/27" instead of 27/1..

    Depending on Windows settings does not work. It's awkward to to switch my entry sequence to m/d/y (if below 12/12)
  • I have the same problem.
    Zotero 5.0.35.1
    And I can not understand, why it is impossible to add Date-Time format option in the Preferences? Let users decide what format they want to use in the User Interface.
    Am I right?
  • I'm on Windows 10 and have my OS region set to Australia - my dates are formatted as MM/DD/YY in Zotero, though, which is wrong - how can I change this? Zotero is set to Automatic language (English).
  • @citadel: Could you load this page in one or more of your browsers (including Firefox, if you have it) and let us know the output in the bottom pane?

    https://codepen.io/andrewnicolaou/pen/pyYrGM
  • Hi,

    How do I get Zotero to respect the OS settings regarding time and date? I don't want Zotero to reinterprete regional, locale settings, I just want Zotero to follow what I have configured in my operating system.
  • That is Zotero’s default behavior. Could you say specifically what your problem is?
  • Hi, thanks for responding.

    Steps to reproduce:
    Windows OS regional settings are set to to English (UK) and date settings adjusted to yyyy-MM-dd HH:mm. Zotero (/Juris-M) is set to Automatic (English).

    Expected behaviour:
    Zotero displays dates in lists as per the Windows OS settings, which is yyyy-MM-dd HH:mm.

    Actual behaviour:
    Zotero displays dates in dd/MM/yyyy HH:mm format.

    Preferred resolution is that Zotero follows the OS wide settings. Work around would be to be able to correct the date format in Zotero.

    I've also tried setting language to English (instead of Automatic), same date format, and to Swedish, same date format. I know the Swedish settings is wrong, we don't do reverse order, we actually follow the ISO standard - because if there are rules, we follow them :)
  • What exactly do you mean? Which date field and where (in a generated bibliography, in the center pane, in the Access Date field?)?
  • Ah, of course, that wasn't clear. I'm not talking about the editable date fields in the items, this is about the automatic fields, such as date added/modified - and how they are displayed in the UI.

    Fields like date published are very flexible and depends on how the item was imported and then are cited as per the selected style.
  • @dstillman I thought that the date format for added/modified used the system date settings, or is just using those to get month/day order? Is there a hidden pref controlling this format?
  • Maybe Zotero is using the general regional settings of the system, without using the specific date settings of the system? As it doesn't change when I change the Zotero language.
  • (That was a question about expected behavior directed at the lead Zotero developer.)
  • In Firefox:

    1. No locale:
    20/10/2018
    2. With locale 'en-GB':
    20/10/2018
    3. toDateString():
    Sat Oct 20 2018
    4. navigator.languages:
    en-GB,en

    It doesn't seem like JavaScript (in FF at least) follows the specific computer settings.
  • edited October 20, 2018
    Wohoo, I changed my windows settings to region "English (Sweden)" (which I don't think I knew even existed) and changed Zotero back to Automatic, and not the date and times show up the way I want them.

    I.e. it seems Javascript will follow the top level regional locale, ignoring the specific variations available in the OS. But luckily there is aparently, at least in windows, a top-level locale for en-SE which works for me.

    Interesting resources:
    http://cldr.unicode.org/
    https://www.unicode.org/cldr/charts/34/summary/en.html
  • Hi, sorry if I come back on my previous comment but I don't have the impression the discussion gave a clear cut solution.

    As said before, my system language is set to en-GB; however if I set the language in Zotero in automatic, I see the date in the right pane in the US format mm/dd/yyyy, and not the en-GB format (see settings below).

    I cannot change the OS settings, as I'm not the admin of this PC, the only way I can get the European date format is to set the language in zotero to Italian or French, but I would prefer to continue having the EN interface.

    But the big problem here is that the dates of publications already recorded in the database, change format according with the language in zotero, with all the problems that this entail (sorting references in one folder, printing bibliographies, etc.), which is quite weird to me.

    If I enter a date for a publication, I'm expecting this remain unchanged, while here If I enter say 1-9-2019 on my PC in Italian, and I go on the PC of a colleague with whom i share my library, this latter set to English, he will see the same record with publication 9-1-2019, which is definitely wrong. And if you work in a multi-language environment as I do, this is a mess...

    Resuming we all have the OS langauge set to en-GB, but:
    1) the date format remains US
    2) if we set different Zotero languages, we end up with different dates for the same record.

    Ho can we sort it out?

    1. No locale:
    16/1/2019
    2. With locale 'en-GB':
    16/01/2019
    3. toDateString():
    Wed Jan 16 2019
    4. navigator.languages:
    it,fr,en-GB
Sign In or Register to comment.