微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios7中的日期格式问题

我在约会面临一个奇怪的问题.我在时间格式上获得了不同的结果.
我的代码

formatter=[[NSDateFormatter alloc]init];
  [formatter setDateFormat:@"yyyy/MM/dd hh:mma"];
    NSDate  *currentdate=[formatter dateFromString:[formatter stringFromDate:[NSDate date]]];
    NSLog(@"Current Date %@",currentdate);

我在模拟器和其他设备中的输出

Current Date 2013-11-13 11:55:00 +0000

但是在一个特定的设备(Iphone 5)中:我收到的输出

Current Date 2013-11-13 11:57:00 am +0000

请帮我解决这个问题.谢谢

解决方法

如果显示不同的小时,您可能需要在设置dateFormat后设置认时区(这仅在ios7之后发生)

[dateFormat setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];

似乎认时区是设备所具有的时区,因此如果您没有指定认时区,您可能会得到奇怪的结果.在ios7之前,它始终是GMT.

更新:

如果在格式化之后NSDate为零,则应该使用:

[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];

我有墨西哥iPhone的这个问题,如果您希望您的用户对您的应用感到满意,我强烈建议您始终添加代码.自IOS7以来,我总是使用两个代码片段

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐