2014-11-27 3 views
0

Так я получаю строку, содержащую дату и время в этом формате "2014-12-22T11:00:00+0500" Теперь для того, чтобы превратить его в NSDate я используюдата и время Хранение отдельно в 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 содержит только дату.

Изначально start_time имеет время события, но также имеет предвыборную контрольную дату до этого. Как я могу удалить это, так что у меня есть только время в start_time

Я искал тяжело и быстро, но не смог выяснить эту проблему. Любая помощь будет оценена по достоинству.

+0

Попробуйте использовать другой формат даты для второго формата. –

ответ

1

Вы не можете удалить ни дату, ни время, чтобы сохранить только один компонент. Если я правильно помню, что объект NSDate находится внутри всего лишь несколько секунд относительно фиксированной точки во времени. Таким образом, каждый NSDate содержит полную информацию о дате и времени.

Возможно, вам захочется получить NSDateComponents из объекта NSDate.

1

Вместо того, чтобы хранить это отдельно, просто укажите эти даты отдельно. Я думаю, что иногда бывает полезно получить дату полностью, но я не знаю твоей идеи.

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); 
+0

@Win Coder ,, Он работает на вас? – Monikanta

Смежные вопросы