如何使用MonoTouch以短时间格式将DateTime格式化为本地用户区域设置

我尝试了多种方法,这是其中之一:

System.Globalization.DateTimeFormatInfo format = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat;      
return dt.Value.ToString (format.ShortTimePattern);

这个问题是.NET 3.5返回“.”作为时间分隔符,这很可能是一个错误(因为我的挪威语区域使用冒号):
.NET (3.5) formats times using dots instead of colons as TimeSeparator for it-IT culture?

我也看了一下:
Retrieving current local time on iPhone?

但MT在NSDateFormatter上似乎没有setTimeStyle?

那么,任何人都有任何魔术伎俩?

我的目标是输出:

21:00 / 9:00 PM

10:09 / 10:09 AM

喜欢iPhone中的状态栏.

最佳答案
试试这个:

var formatter = new NSDateFormatter ();
formatter.TimeStyle = NSDateFormatterStyle.Short;
Console.WriteLine (formatter.ToString (DateTime.Now));

也就是说,使用点/冒号作为挪威语区域的时间分隔符的错误已在Mono 2.12中修复,因此当MonoTouch切换到使用Mono 2.12而不是Mono 2.10时(希望明年年初),您将能够使用此托管替代方案太:

Console.WriteLine (DateTime.Now.ToString (new CultureInfo ("nb-NO").DateTimeFormat.ShortTimePattern));

转载注明原文:如何使用MonoTouch以短时间格式将DateTime格式化为本地用户区域设置 - 代码日志