iphone - NSDateFormatter IOS 错误

标签 iphone objective-c ios nsdate nsdateformatter

我有一个使用NSDateFormatter转换为NSDate的函数。

+(NSDate*)getDateFromCurrentTimestamp:(NSString*)currentTimestamp{
//    currentTimestamp= @"28-Feb-2012 16:42:19 PM";

    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDoesRelativeDateFormatting:NO];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    [dateFormatter setFormatterBehavior:NSDateFormatterShortStyle];
    //[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault];
    [dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss a"];

    return [dateFormatter dateFromString:currentTimestamp];
}

IOS 5.x 返回正确的NSDate。 在 4.1 和 4.2 上运行时也返回正确的 NSDate。 在 4.3.2 和 4.3.3 上运行时,返回 null

这怎么可能?有什么解决方法吗?


编辑

不是由 iOS 错误引起。这个和手机本身有关系。某些手机​​在设备中设置了不同的区域设置。因此我们必须强制它使用一种语言环境

最佳答案

来 self 们在评论中的讨论:

您是否为 4.3.2 和 4.3.3 设备设置了区域和区域设置?看看这个 SO question有帮助。

相关代码:

[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"] autorelease]];

关于iphone - NSDateFormatter IOS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9970923/

相关文章:

iphone - iDevice onclick 不使用当前代码播放视频

ios - 从 iOS 开发人员计划中删除成员(member)的影响。

iphone - 为 UITableView 过滤内容

ios - Quickblox 链接器错误 : operator delete(void*)", 引用自

ios - 在多天重复 HMTimerTrigger(例如 : Every Monday, 星期三......就像在 iOS 10 Home 应用程序中一样)

objective-c - AQGridView iOS 创建自定义图标(图像+标签)而不是图像

ios - 一个 View Controller 中的两个 TableView

ios - 在 objective-c 中本地或 firebase 录制后如何保存音频文件?

ios - 如何测试 Storyboard 中附加的转场

ios - 如何将 PDF 作为输入传递给打印机