【问题标题】:Localization in NSDateFormatterNSDateFormatter 中的本地化
【发布时间】:2015-11-04 15:10:51
【问题描述】:

您好,我正在尝试将 декабрь/12/1982 日期转换为 NSDate,但它会返回 nil 值。以下是我的代码。

NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
 [formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"ru_RU"]];
 [formatter setDateFormat:@"MM/dd/yyyy"];

 NSDate *dateCreated = [formatter dateFromString:strSelectedDate];

我的应用程序支持多语言。 提前致谢。

【问题讨论】:

  • MM 是一个两位数的月份数。使用MMMM 作为月份名称。
  • @rmaddy,感谢您的回复,但我需要的输出是 01/12/2015 所以这就是我使用 MM/dd/yyyy 格式的原因。
  • 但是您的代码用于将字符串转换为NSDate。格式必须与字符串匹配。如果您想将NSDate 转换为新格式,这是使用新格式的第二步。
  • 您的“strSelectedDate”格式应与“MM/dd/yyyy”相同。

标签: ios objective-c nsdateformatter


【解决方案1】:

这行得通:

NSString *temp = @"декабрь/12/1982";
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"ru_RU"]];
[formatter setDateFormat:@"LLLL/dd/yyyy"];
NSDate *dateCreated = [formatter dateFromString:temp];
NSLog(@"%@", dateCreated);

输出为:216:27582] 1982-12-11 23:00:00 +0000

【讨论】:

    猜你喜欢
    • 2014-01-22
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多