我在约会面临一个奇怪的问题.我在时间格式上获得了不同的结果.
我的代码是
我的代码是
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
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 举报,一经查实,本站将立刻删除。