我正在尝试根据本地计算机上的用户时间格式在我的应用程序中显示日期和时间。例如,如果本地计算机以24小时格式显示时间,我的应用程序应该以24小时格式显示时间。如果是12小时格式,应用程序应以12小时格式显示。我想在代码中获得以下设置,并相应地显示日期和时间。

我的应用程序的现有代码使用DateTime.UtcNow,我不应该将其更改为使用DateTime.Now
`public static DateTime FormatTime()
{
return DateTime.UtcNow.ToLocalTime();
}`它以12小时格式显示时间,与计算机的时间格式无关。有没有办法获取用户的计算机时间格式?
发布于 2016-08-26 19:49:52
没有必要这样做。如果您正确地对其进行了本地化,那么您的应用程序就可以做到这一点。
如果你有一个DateTime,做一些像这样的事情
textBox1.Text = dateTime.ToShortDateString();已经可以工作了。解析日期/时间也是如此。最好阅读有关本地化和全球化.NET应用程序的MSDN。你会惊讶于已经为你做了这么多。不要重复发明轮子..。
发布于 2016-08-26 19:51:20
DateTime date = DateTime.Now;
//formatted using the ShortDatePattern
Console.WriteLine(date.ToString("d"), CultureInfo.InstalledUICulture);CultureInfo.InstalledUICulture是操作系统语言
发布于 2016-08-26 19:50:06
在使用DateTime.ToString时,始终使用标准格式字符串(例如,"d"表示短日期),而不是自定义格式字符串(例如,"yyyy-MM-did"),并且始终显式地为IFormatProvider参数指定CultureInfo.CurrentCulture,以确保您的意图对于任何阅读您的代码的人都是清晰的。
https://stackoverflow.com/questions/39165485
复制相似问题