title: C# DateTime.ToString() is wrong on Linux Ubuntu 18.04 though proper locale is set in current thread
body: <p>Ok this is driving me nuts. I've installed a new instance of a ubuntu 18.04 server which runs my dotnetcore 2.2 mvc application.</p>
  
  <p>Although the locale seems properly set in the OS and in the current thread, the DateTime.ToString() functions give me a wierd data format:</p>
  
  <ul>
  <li>Wrong format: 19-05-09 12 12 21 21 02 2</li>
  <li>Expected format: 19-05-09 12:21:01</li>
  </ul>
  
  <p>In both case, the current thread local is "fr-CA".
  In the OS, the "locale" command returns me "en_US" in both cases.</p>
  
  <p>I've checked depper in the CurrentThread.CurrentCulture.DateTimeFormat and it doesn't seems to be the same in both cases. When looking at the CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern variable:</p>
  
  <ul>
  <li>Wrong format outputs pattern gives me: HH h mm</li>
  <li>Good format server output pattern gives me: HH:mm</li>
  </ul>
  
  <p>What is this sorcery? My nose is bleeding.</p>