小编CHR*_*TIN的帖子

如何以文化感知的方式格式化TimeSpan的HH:mm:ss分隔符?

我正在开发一个可以在世界上许多国家看到的应用程序.没有多少国家/地区显示小时,分钟和秒以及其他内容:作为分隔符,但有一些,我想确保为其所在地区正确格式化时间.DateTime很棒,但TimeSpan不是.这些片段来自我在Visual Studio 2010中的即时窗口,使用.Net 4,我的区域设置为Malayalam(印度).dateTime.Now调用还反映了我的时钟,Microsoft Outlook和其他领域的时间显示方式.

DateTime.Now.ToString()
"02-10-12 17.00.58"
Run Code Online (Sandbox Code Playgroud)

http://msdn.microsoft.com/en-us/library/dd784379.aspx说"如果formatProvider为null,则使用与当前区域性关联的DateTimeFormatInfo对象.如果format是自定义格式字符串,则为formatProvider参数被忽略了." 按理说那我甚至不需要传递当前的CultureInfo.我想要的格式是hh.mm.ss,但是在大多数其他语言中显而易见hh:mm:ss,如果还有其他可能性,它应该自动反映这些 - 基本上TimeSpan 应该是文化意识,就像DateTime一样是.

然而:

timeRemaining.ToString()
"00:02:09"
timeRemaining.ToString("c")
"00:02:09"
timeRemaining.ToString("c", CultureInfo.CurrentCulture)
"00:02:09"
timeRemaining.ToString("g")
"0:02:09"
timeRemaining.ToString("G")
"0:00:02:09.0000000"
timeRemaining.ToString("t")
"00:02:09"
timeRemaining.ToString("g", CultureInfo.CurrentCulture)
"0:02:09"
timeRemaining.ToString("g", CultureInfo.CurrentUICulture)
"0:02:09"
timeRemaining.ToString("G", CultureInfo.CurrentUICulture)
"0:00:02:09.0000000"
timeRemaining.ToString("G", CultureInfo.CurrentCulture)
"0:00:02:09.0000000"
timeRemaining.ToString("t", CultureInfo.CurrentCulture)
"00:02:09"
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个简单的单行来以文化意识的方式输出timeSpan.任何想法都表示赞赏.

c# globalization datetime cultureinfo c#-4.0

8
推荐指数
1
解决办法
3727
查看次数

标签 统计

c# ×1

c#-4.0 ×1

cultureinfo ×1

datetime ×1

globalization ×1