根据 Wikipedia (并在 an answer by Dario Solera 中得到证实),在意大利,他们使用冒号格式化时间:



但是,运行以下代码似乎输出点:

using System.Globalization;

Thread.CurrentThread.CurrentCulture = new CultureInfo("it-IT");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("it-IT");
// Outputs "11.08"
Console.WriteLine(DateTime.Now.ToShortTimeString());

// Outputs "."
Console.WriteLine(new CultureInfo("it-IT").DateTimeFormat.TimeSeparator);

这是框架错误吗? “修复”它的最佳方法是什么? TimeSeparator 是可设置的 - 我们是否应该在分配给 Thread.CurrentThread.CurrentCulture 等之前覆盖它?

最佳答案

这似乎是 .NET 3.5 问题。在 .NET 4.0 中,您发布的代码按预期使用冒号。框架版本之间似乎发生了奇怪的重大变化,但升级到 .NET 4 似乎可以解决问题。

关于c# - .NET (3.5) 使用点而不是冒号作为 IT 文化的时间分隔符来格式化时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7498058/

10-14 20:51