That’s windows programmers for you
I tried PowerShell’s get-date to replicate your issue, since PowerShell is as close to C# as I’m going to get. I’m hoping your application uses the same logic!
WINEPREFIX=~/timetest
wine $WINEPREFIX/drive_c/Program\ Files/PowerShell/7-preview/pwsh.exe -c get-date
…the default, I get
Monday, December 9, 2024 1:31:55 PM
If I wine regedit the sLongDate from this:
dddd, MMMM d, yyyy
to this:
ddd, MMM d, yyyy
And then run the same command, I get
Mon, Dec 9, 2024 1:33:15 PM
Afterwards, I found every time I use LANG= in front of the wine >command<, it resets that registry setting.
However, you can set the LANG in the prefix once, update the registry entry, and it persists for subsequent commands.
If something is setting the language every launch you’re probably going to have to use this as part of the startup to format the date into that shorter second form.
WINEPREFIX=~/timetest
wine reg add "HKCU\Control Panel\International" /v sLongDate /t REG_SZ /d "ddd, MMM d, yyyy" /f
Just for clarity, the sequence of commands for a NEW manual prefix: -
mkdir ~/timetest2 && export WINEPREFIX=~/timetest2
wine wineboot
LANG=en_US.utf8 wine reg add "HKCU\Control Panel\International" /v sLongDate /t REG_SZ /d "ddd, MMM d, yyyy" /f
wine regedit
…you can browse to the sLongDate key in regedit and see the Language and time settings are set.
As I said, as long as nothing else sets LANG - remove any variables you’ve added to Lutris at this point - it should persist.
I just hope your application uses it properly!