NSDateFormatter在设置日期时没有给出正确的响应

时间:2015-05-14 05:14:09

标签: ios objective-c iphone nsdate nsdateformatter

我有点问题。 请看这里并理解这个问题。

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setLocale:[NSLocale systemLocale]];
    [dateFormatter setDateFormat:@"dd-MMM-yyyy"];
    self.datePicker.userInteractionEnabled=YES;
    NSString *dateString=[dateFormatter stringFromDate:datePicker.date];

这是我回复约会的地方。但是当我设置NSLocale时,这不会给我正确的回应。

我想在dd-MMM-yyyy (2008年3月24日)格式中使用 DATE 。但它正在回应:

iOS8.0 和后者 - >的 24 M03-2004

iOS7.0 和旧版 - >的 24 Month03-2004

由于某些依赖关系,我无法从上面的块中删除[dateFormatter setLocale:[NSLocale systemLocale]];。 请建议我如何处理这个问题,

2 个答案:

答案 0 :(得分:3)

尝试使用

[dateFormatter setLocale:[NSLocale currentLocale]];

的内容
[dateFormatter setLocale:[NSLocale systemLocale]];

这将返回您想要的格式。

答案 1 :(得分:3)

这将解决您的问题

[dateFormatter setLocale:[NSLocale currentLocale]];

[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];