所以我得到一个包含这种格式的日期和时间的字符串"2014-12-22T11:00:00+0500"
现在为了将它转换为NSdate我正在使用
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate* date = [dateFormatter dateFromString:start_time];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString* temp = [dateFormatter stringFromDate:date];
self.eventDate = [dateFormatter dateFromString:temp];
NSDateFormatter* timeFormatter = [[NSDateFormatter alloc]init];
[timeFormatter setDateFormat:@"HH:mm:ss"];
NSString* temp2 = [timeFormatter stringFromDate:date];
self.start_time = [timeFormatter dateFromString:temp2];
现在,即使转化成功,问题仍然是eventDate
在日期00:00:00
之后也有时间。如何删除此项,以便eventDate
仅包含日期。
Conversly start_time
有活动时间,但在此之前还有一些参考日期。我如何删除它,所以我只有start_time
我一直在努力寻找,但我们还没能找到这个问题。任何帮助将不胜感激。
答案 0 :(得分:1)
您无法删除仅保留一个组件的日期或时间。如果我没记错的话,NSDate对象在内部只是相对于固定时间点的秒数。因此,每个NSDate都包含完整的日期和时间信息。
您可能想要做的是从NSDate对象获取所需的NSDateComponents。
答案 1 :(得分:1)
不要试图将这个单独存储,而是将这些日期分开显示。我认为有时候完成日期可能很有用,但我不知道你的想法。
答案 2 :(得分:0)
You can try with it, it may be help you.
NSString *finalDate = @"2014-12-22T11:00:00+0500";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *date = [dateFormatter dateFromString:finalDate];
//For getting Time
NSDateFormatter* df1 = [[NSDateFormatter alloc]init];
[df1 setDateFormat:@"hh:mm:ss"];
NSString *time = [df1 stringFromDate:date];
NSLog(@"time %@ ", time);
//For getting Date
NSDateFormatter* df2 = [[NSDateFormatter alloc]init];
[df2 setDateFormat:@"yyyy-MM-dd"];
NSString *actualDate = [df2 stringFromDate:date];
NSLog(@"actualDate %@ ", actualDate);