ios - NSDateFormatter 字符串到日期的转换

标签 ios objective-c nsdate nsdateformatter

我需要转换

3/27/2015 5:45:00 AM

将字符串转换为 NSDate 对象。

我尝试过这个;

[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];

但是它不起作用。

我无法弄清楚可能出了什么问题?

谢谢

添加代码;

      NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
      [dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];  
      NSDate *tempDate = [dateFormatter dateFromString:@"3/27/2015 5:45:00 AM"]

编辑:

不知何故,因为时间片(AM/PM)为空。 我从日期格式化程序中删除了“a”,并从字符串中删除了“AM”。没关系。 但还是不知道“a”有什么问题?

最佳答案

您忘记将日期区域设置的区域设置添加到日期格式化程序中。 该代码将在任何设置为美国英语的设备上正常运行,但其他语言环境将失败。只需添加 en_US_POSIX 作为日期格式化程序的区域设置:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
NSDate *tempDate = [dateFormatter dateFromString:@"3/27/2015 5:45:00 AM"];

关于ios - NSDateFormatter 字符串到日期的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29302946/

相关文章:

ios - AFNetworkActivity 位码

ios - 在 XCode 中按下一个按钮时如何禁用所有按钮?

objective-c - RKObjectLoader使用数组参数截断我的路径

ios - 用于 iOS 开发的组件和 UI 套件?

swift - dateFromString() 返回不正确的日期

ios - 如何创建带有大图像的苹果推送通知横幅

ios - 检测点击 UIView 的 "empty space"

objective-c - 如何在 Swift 中使用 RLMArray 和 Realm for Objective-C?

objective-c - 这个日期是什么格式?

objective-c - 从引用 NSDate 获取下一周的 NSDate?