Cocoa - 来自 NSDate、NSCalendarDate 的本地化字符串

2023-12-04

我正在使用 NSDate 获取诸如“18 Jun 09”之类的字符串,代码为:

NSDate *theDate = [NSDate date];
NSString *dateString = [theDate descriptionWithCalendarFormat:@"%d %b %y"
        timeZone:nil
        locale: nil];

这可行,但只能产生英文输出。我需要将输出本地化为用户的默认语言。

Cocoa(在本例中为 Mac OS X 10.4、10.5)是否提供了这种本地化的工具,或者我是否必须手动本地化我自己的日和月名称的每种情况?

(我提供了一个区域设置,但尽管它确实提供了特定于区域设置的日期排序,但它似乎没有对日月名称进行任何本地化。)


这里有一个苹果的片段:

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];

[dateFormatter setDateStyle:NSDateFormatterMediumStyle];

[dateFormatter setTimeStyle:NSDateFormatterNoStyle];

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:118800];

NSString *formattedDateString = [dateFormatter stringFromDate:date];

NSLog(@"formattedDateString for locale %@: %@", [[dateFormatter locale] localeIdentifier], formattedDateString);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cocoa - 来自 NSDate、NSCalendarDate 的本地化字符串 的相关文章

随机推荐