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

Chr*_*vik 5 datetime nsdateformatter xamarin.ios

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

System.Globalization.DateTimeFormatInfo format = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat;      
return dt.Value.ToString (format.ShortTimePattern);
Run Code Online (Sandbox Code Playgroud)

这个问题是.NET 3.5返回"." 作为时间分隔符,这很可能是一个错误(因为我的挪威语区域使用冒号) :.NET(3.5)格式化时间使用点而不是冒号作为它的IT文化的TimeSeparator?

我也看了一下: 在iPhone上检索当前的当地时间?

但MT在NSDateFormatter上似乎没有setTimeStyle?

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

我的目标是输出:

21:00/9:00 PM

10:09/10:09 AM

喜欢iPhone中的状态栏.

Rol*_*nge 6

试试这个:

var formatter = new NSDateFormatter ();
formatter.TimeStyle = NSDateFormatterStyle.Short;
Console.WriteLine (formatter.ToString (DateTime.Now));
Run Code Online (Sandbox Code Playgroud)

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

Console.WriteLine (DateTime.Now.ToString (new CultureInfo ("nb-NO").DateTimeFormat.ShortTimePattern));
Run Code Online (Sandbox Code Playgroud)