Ios 在NSDate中分别存储日期和时间
因此,我现在得到一个包含日期和时间的字符串,格式为“2014-12-22T11:00:00+0500”,以便将其转换为我正在使用的NSdateIos 在NSDate中分别存储日期和时间,ios,objective-c,nsdate,nsdateformatter,datetime-format,Ios,Objective C,Nsdate,Nsdateformatter,Datetime Format,因此,我现在得到一个包含日期和时间的字符串,格式为“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
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
仅包含日期
相反,start\u time
有事件发生的时间,但也有一些在此之前的任意参考日期。我如何才能删除它,使我只有时间在start\u time
我找了又快又努力,但还是没能找出这个问题。任何帮助都将不胜感激。您不能删除仅保留一个组件的日期或时间。如果我没记错的话,NSDate对象在内部只是相对于固定时间点的秒数。因此,每个NSDate都包含完整的日期和时间信息
您可能要做的是从NSDate对象中获取所需的NSDate组件。不要尝试单独存储这些组件,只需单独显示这些日期即可。我认为有时完整地获取日期可能会有用,但我不知道你的想法。尝试使用不同的日期格式化程序进行第二种格式。
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);