修改应用程序范围,显示DateTime

对于我们开发的应用程序,我们在应用程序的任何地方都使用"G"格式。

我们想要改变这种格式:

我们需要在第二个数字后显示第一个数字。

例如:

29.07.2014 08:54:36.1

我们希望能够在CurrentCulture进行更改。

这是我们在当前文化中唯一想要改变的东西,所以如果以前,我们有以下格式:

2014/07/29 08:54:36 AM

然后我们想拥有

2014/07/29 08:54:36.1 AM

如果在我之前

29.07.2014 08:54:36

然后我们想拥有

29.07.2014 08:54:36.1

很高兴,如果我们收到的DateTime ,没有要显示的数字(= 0十分之一秒),则不显示。

您可以为当前线程设置CurrentCulture并指定偏离的LongTimePattern

 CultureInfo culture = Thread.CurrentThread.CurrentCulture.Clone(); change the culture.DateTimeFormat.LongTimePattern = "your pattern"; Thread.CurrentThread.CurrentCulture = culture; 

我对此进行了测试,看起来就像是回归了你想要的东西,除了“很高兴”。

 string now = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.f tt", CultureInfo.GetCultureInfo("en-US")); 

我会为DateTime创建一个扩展方法,比如ToPrettyPrintStringg()或者你想要的任何东西,以你希望的格式返回日期,这样你就可以按照你想要的方式显示任何日期。