2016-04-05 37 views
-2

Bu soruyu çok uzun süredir sordum ve bazı soruların yinelenmiş olabileceğini biliyorum, aslında bunları String'e dönüştürerek diziye tarihi yerleştirmeye çalışıyorum. NSDate formatında bu Değere ihtiyacım var, bu yüzden depolanan dizeyi tekrar Date'ye dönüştürüyorum.Biçimlendirme tarihi ile sorun

NSDateFormatter *dateformat = [[NSDateFormatter alloc] init]; 
[dateformat setDateFormat:@"MM-dd-yy-hh-mm-ss"]; 

NSString *date = [dateformat stringFromDate:datePicker.date]; 
[kAppDelegate.glbArrName addObject:date]; 

Ama sonuç alırsınız:

NSString *date = [kAppDelegate.glbArrDate objectAtIndex:indexPath.row]; 

NSLog(@"Date of birth %@",date); 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 

[dateFormatter setDateFormat:@"MM-dd-yy-hh-mm-ss"]; 
NSDate *birthDate = [[NSDate alloc] init]; 

birthDate = [dateFormatter dateFromString:date]; 

NSLog(@"Date of birth after formatting %@",birthDate); 

Çıktı aşağıdaki gibidir: i önceki ile aynı yapmış gibi, biçimini değiştirir Neden

Date of birth 04-05-16-06-38-14 
Date of birth after formatting 2016-04-05 01:08:14 +0000 

. lütfen bana yardımcı olun ..

+0

Niçin dizgeye ve dizgiden dönüştürmeyi tercih edersiniz? Bir dizi herhangi bir sorun olmadan bir "NSDate" tutabilir. – Avi

+0

aslında biçimlendirme de gerekir, nasıl doğrudan uipicker.date ve biçimlendirilmiş NSdate almak için .. aslında dize olsun –

+0

dizininizde 'NSDate' saklayın. Kullanıcıya göstermeniz gerekene kadar bir dizgeye dönüştürmeyin. – rmaddy

cevap

0

NSDate'in -description'un bir parçası olarak, tarih dizgisini bir NSDate'e yeniden yazıp, daha sonra bu 2016-04-05 01:08:14 +0000 biçimindeki varsayılan olan NSDate'i yeniden yazdırıyorsunuz demektir.

+0

Anladım, ama kesin tarih nasıl –