ios开发 中文(真机)环境下的时间格式转换问题
来源:互联网 发布:怪物猎人ol优化补丁 编辑:程序博客网 时间:2024/06/06 02:55
今天在处理从新浪微博传回来的时间格式转换问题时发现了一个问题。新浪返回的时间格式为 "Tue May 30 20:10:04 +0800 2014",也就是说我们应该用类似"EEE MMM dd HH:mm:ss Z yyyy"这样的格式进行转换。然而按照如下方法进行转换的时候返回的date总是nil。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"];NSDate *testDate = [dateFormatter dateFromString:@"Tue May 30 14:10:02 +0800 2014"];
可能大家拷贝代码自己去试试的话会发现:没有问题啊,返回的并不是nil啊。
如果你有这样的问题,那么我想问一下,你是用什么测试的?语言环境是什么?
出现这个问题的时候,无奈从HH:mm:ss开始慢慢试,看一下哪里出了问题。后来发现其他的都正常,一旦到了MMM和EEE的时候就出问题了。后来一次在模拟器上调试的时候突然正常了。所以我打印了真机下的date对象的时间。发现中文环境下时间会有一个CST(China Standard Time)后缀。
所以接下来重新设置了dateFormatter的一些属性,如下
//时间格式转换 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //另中文(真机)环境下也能正常转换 [dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]]; //新浪微博返回时间格式 [dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"]; NSDate *testDate = [dateFormatter dateFromString:weiboTime]; //设置成 月份-日期 小时:分钟 的格式 dateFormatter.dateFormat = @"MM-dd HH:mm"; weiboTime = [dateFormatter stringFromDate:testDate];
这样返回的时间就可以转换了,不会出现nil date的现象了。
0 0
- ios开发 中文(真机)环境下的时间格式转换问题
- iOS 时间格式(时间格式转换)
- iOS的时间格式转换
- iOS开发中需要的时间格式的转换
- iOS开发中时间NSDate几种格式的转换
- android开发中关于含有中文字段的格林尼治标准时间的时间格式转换
- 英文环境下 Struts2 日期格式转换的问题
- ios 时间格式转换
- iOS开发笔记之Timestamp时间戳与各地区实际时间格式的相互转换
- iOS时间格式的相互转换
- 时间格式转换问题
- c# 时间格式的转换问题
- SQL 日期时间格式的转换问题
- iOS 真机开发调试环境
- ios开发-格式转换
- iOS开发之时间格式的转化
- iOS开发中时间格式的转化
- android开发真机调试(MAC环境下)
- 【LINUX基础指令】设置Ubuntu的root用户密码
- Oracle 11g学习笔记五(完)
- HeadFirst设计模式 之 C++实现(二):Observer(观察者模式)
- 使用Autoit搞定公司的OA系统--网页审批自动化
- CNN(Convolutional Neural Networks)没有原理只有实现
- ios开发 中文(真机)环境下的时间格式转换问题
- linux内核版本信息说明
- python常用的模块
- 分享Git的一些个人配置
- KNN(k-nearest neighbor algorithm)--从原理到实现
- 关于cpp构造函数当中使用memset初始化的陷阱
- AdaBoost--从原理到实现
- C语言--关于函数
- 决策树--从原理到实现