我一直在搜索。 我需要将日期字符串解析为: NSString * dateString = @“2014-01-14T10:10:44.497Z”
我需要那个星期一,星期二,星期三等等。
我无法让任何格式化程序转换日期。
任何帮助?
先谢谢
我一直在使用的代码:
NSString * time = @“2014-01-14T10:10:44.497Z”;
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date1 =[self dateFromISO8601String:time]; //[df dateFromString:time];
NSLog(@"date : %@", date1);
long lgTime = (long)[date1 timeIntervalSince1970];
NSLog(@"%ld", lgTime);
NSCalendar* calender = [NSCalendar currentCalendar];
NSDateComponents* component = [calender components:NSWeekdayCalendarUnit fromDate:date1];
NSLog(@"date=%@ === %@",[NSDate date],date1);
NSLog(@"day= %d",[component weekday]); ///it retu
在控制台中的响应: * 错误 *
2014-01-14 17:42:23.790 TextDate [2847:a0b]发送日期:2014-01-14T10:10:44.497Z
2014-01-14 17:42:23.790 TextDate [2847:a0b] date:(null)
2014-01-14 17:42:23.791 TextDate [2847:a0b] 0
2014-01-14 17:42:23.794 TextDate [2847:a0b] * - [__ NSCFCalendar组件:fromDate:]:日期不能为零
我的意思是,你觉得这个操作应该用零日期来表示什么?
答案 0 :(得分:3)
您需要使用两个日期的格式化程序。
首先将字符串更改为日期。
第二个将日期转换为太阳/周一等形式的字符串
NSString * dateString = @"2014-01-14T10:10:44.497Z";
NSDateFormatter *df = [NSDateFormatter new];
[df setDateFormat:@"yyyy-MM-dd'T'hh:mm:ss'.'SSS'Z'"];
NSDate *date = [df dateFromString:dateString];
[df setDateFormat:@"EEE"];
NSLog(@"%@",[df stringFromDate:date]);