iOS NSDateFormatter在设备上的行为有所不同

halileohalilei

我有以下代码NSDateNSString对象创建对象。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm aa M/dd/yyyy"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSString *day = @"3/26/2015";
NSString *time = @"10:24 PM";
NSString *dateString = [NSString stringWithFormat:@"%@ %@", time, day];
NSDate *date = [dateFormatter dateFromString:dateString];

这段代码可在模拟器上完美运行,并在我的时区中产生确切的对应时间。但是,当我在装有iOS 8的设备上运行时,date设置为nil

我使用的格式应该根据工作这个页面被此引用苹果开发者页面

任何帮助或有关此信息将不胜感激。提前致谢。

编辑:我正在尝试从格式化的NSString创建NSDate对象,而不是在预定义的fromat中从系统获取日期。这个问题可能重复之处可能密切相关,但我无法找到适合我情况的解决方案。

编辑2:我刚刚注意到只有在“设置”中启用了24小时制时,才会出现此问题。但是,我没有办法知道设备所有者使用的是哪种格式,因此我仍然需要一个解决方案。

维杜姆

使用这种严格的日期格式时,需要设置区域设置,以避免在格式化日期时设备当前的区域设置出现问题。否则,NSDateFormatter将会使用设备的语言环境,这说明只有在“设置”中启用“ 24小时制”时,它才会发生。

请参阅Apple的文档

在所有情况下,您都应考虑格式化程序默认使用currentLocale与用户首选项设置叠加的用户语言环境()。如果要使用用户的语言环境但没有其各自的设置,则可以从当前用户语言环境(localeIdentifier获取语​​言环境ID,并使用该语言环境创建一个新的“标准”语言环境,然后将标准语言环境设置为格式化程序的语言环境

例如,在您的情况下,可以使用en_US_POSIX

NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
dateFormatter.locale = enUSPOSIXLocale;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

线程问题在iOS 7上的行为有所不同

来自分类Dev

情节提要+ UIcollectionView:UI在iOS Simulator和设备上的显示方式有所不同

来自分类Dev

为什么此代码在64位版本上的行为会有所不同?(iOS / UIColor / UIKeyedArchiver)

来自分类Dev

iOS 8屏幕边界在设备和模拟器上在横向方向上有所不同

来自分类Dev

UITableView在iOS 7和iOS 6中的行为有所不同

来自分类Dev

UITableView在iOS 7和iOS 6中的行为有所不同

来自分类Dev

在iOS 6和iOS 7中,“取消”和“清除”按钮的行为有所不同

来自分类Dev

UIScrollView的行为在iOS8中有所不同

来自分类Dev

SSL-在iOS7中的行为有所不同?

来自分类Dev

NSDateComponents周在iOS8上的工作方式有所不同

来自分类Dev

与Android相比,iOS上的ARGB颜色有所不同

来自分类Dev

与Android相比,iOS上的ARGB颜色有所不同

来自分类Dev

UIPopoverController的大小调整行为在iOS 7.0和iOS 7.1之间有所不同

来自分类Dev

调用willRotateToInterfaceOrientation后,iOS 7和iOS 8上的mainScreen边界大小会有所不同

来自分类Dev

调用willRotateToInterfaceOrientation后,iOS 7和iOS 8上的mainScreen边界大小会有所不同

来自分类Dev

SHA256哈希结果在Android和iOS上对于大数字而言有所不同

来自分类Dev

CSS3过渡在移动设备上的行为有所不同

来自分类Dev

Android Geocoder 在某些设备上的行为有所不同

来自分类Dev

离子,副标题在Safari和iOS中的呈现方式有所不同

来自分类Dev

通过SkAction.followPath(iOS)移动对象的速度有所不同

来自分类Dev

在iOS中使用时UIImage看起来有所不同

来自分类Dev

UIAlertView中取消按钮的顺序在iOS8中有所不同

来自分类Dev

navigationController.viewControllers在iOS 8.2中的工作方式有所不同

来自分类Dev

在iOS中使用时UIImage看起来有所不同

来自分类Dev

离子,副标题在Safari和iOS中的呈现方式有所不同

来自分类Dev

Firebase OTP 身份验证消息在 iOS 和 Android 中有所不同

来自分类Dev

对于MSIE 10上的行为有所不同

来自分类Dev

XAMARIN表单-为什么同一表单在iOS和Android上看起来有所不同

来自分类Dev

XAMARIN表单-为什么同一表单在iOS和Android上看起来有所不同

Related 相关文章

  1. 1

    线程问题在iOS 7上的行为有所不同

  2. 2

    情节提要+ UIcollectionView:UI在iOS Simulator和设备上的显示方式有所不同

  3. 3

    为什么此代码在64位版本上的行为会有所不同?(iOS / UIColor / UIKeyedArchiver)

  4. 4

    iOS 8屏幕边界在设备和模拟器上在横向方向上有所不同

  5. 5

    UITableView在iOS 7和iOS 6中的行为有所不同

  6. 6

    UITableView在iOS 7和iOS 6中的行为有所不同

  7. 7

    在iOS 6和iOS 7中,“取消”和“清除”按钮的行为有所不同

  8. 8

    UIScrollView的行为在iOS8中有所不同

  9. 9

    SSL-在iOS7中的行为有所不同?

  10. 10

    NSDateComponents周在iOS8上的工作方式有所不同

  11. 11

    与Android相比,iOS上的ARGB颜色有所不同

  12. 12

    与Android相比,iOS上的ARGB颜色有所不同

  13. 13

    UIPopoverController的大小调整行为在iOS 7.0和iOS 7.1之间有所不同

  14. 14

    调用willRotateToInterfaceOrientation后,iOS 7和iOS 8上的mainScreen边界大小会有所不同

  15. 15

    调用willRotateToInterfaceOrientation后,iOS 7和iOS 8上的mainScreen边界大小会有所不同

  16. 16

    SHA256哈希结果在Android和iOS上对于大数字而言有所不同

  17. 17

    CSS3过渡在移动设备上的行为有所不同

  18. 18

    Android Geocoder 在某些设备上的行为有所不同

  19. 19

    离子,副标题在Safari和iOS中的呈现方式有所不同

  20. 20

    通过SkAction.followPath(iOS)移动对象的速度有所不同

  21. 21

    在iOS中使用时UIImage看起来有所不同

  22. 22

    UIAlertView中取消按钮的顺序在iOS8中有所不同

  23. 23

    navigationController.viewControllers在iOS 8.2中的工作方式有所不同

  24. 24

    在iOS中使用时UIImage看起来有所不同

  25. 25

    离子,副标题在Safari和iOS中的呈现方式有所不同

  26. 26

    Firebase OTP 身份验证消息在 iOS 和 Android 中有所不同

  27. 27

    对于MSIE 10上的行为有所不同

  28. 28

    XAMARIN表单-为什么同一表单在iOS和Android上看起来有所不同

  29. 29

    XAMARIN表单-为什么同一表单在iOS和Android上看起来有所不同

热门标签

归档