2011-11-24 18 views
18

Uygulamamda gün ve saat almak için dateformatter kullanıyorum. Ama ben telefon dateformatter dilini değiştirdiğimde bir sorunla karşı karşıyayım, birden fazla dil desteklemediğinden benim app çökme nedeniyle telefonun seçilen dilinin gün ve saatini döndürür. Bu konuda bana yardımcı olabilecek herhangi biri olabilir.Nsdateformatter seçilen telefonun dilinde bana günü geri gönderir. Bana her zaman ingilizceyi iade eder mi?

aşağıda kod parçacığını bulabilirsiniz: i Gujrati (Hindistan) i şöyle şudur kullanarak NSLog kullanarak görüyorum çıktı olarak telefon dilini seçilen

NSDate *date=[NSDate date]; 
NSDateFormatter *objTimeFotmatter=[[NSDateFormatter alloc]init]; 
[objTimeFotmatter setDateFormat:@"HH:mm"]; 

NSDateFormatter *objDayFotmatter=[[NSDateFormatter alloc]init]; 
[objDayFotmatter setDateFormat:@"EEEE"]; 

NSString *objTime=[objTimeFotmatter stringFromDate:date]; 
NSString *objDay=[objDayFotmatter stringFromDate:date]; 

NSLog(@"objTime=%@",objTime); 
NSLog(@"objDay=%@",objDay); 

,

2011-11-24 11:23:20.221 Belkin_Plugin[1110:707] objTime=૧૧:૨૩ 
2011-11-24 11:23:20.227 Belkin_Plugin[1110:707] objDay=ગુરુવાર 
+0

bu [bu bir] aynı soruyu (olabilir http://stackoverflow.com/questions/1348590/how-to-make-nsdateformatter-display-locale-specific -date) ??? –

+0

@breakfreehg: Lütfen cevabıma bakın. Benim için çalışıyor ve senin için çalışacak. :] –

cevap

45

Tarih biçimini aşağıdaki satırları ekleyin. Senin durumunda

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[dateFormatter setLocale:usLocale]; 

, tüm dateformatters için Benzer

NSDateFormatter *objTimeFotmatter=[[NSDateFormatter alloc]init]; 
[objTimeFotmatter setDateFormat:@"HH:mm"]; 
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[objTimeFotmatter setLocale:usLocale]; 

.

1

bu kodla deneyin:

NSDate *date=[NSDate date]; 
NSDateFormatter *objTimeFotmatter=[[NSDateFormatter alloc]init]; 
[objTimeFotmatter setDateFormat:@"HH:mm"]; 
[objTimeFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] 
autorelease]]; 
NSDateFormatter *objDayFotmatter=[[NSDateFormatter alloc]init]; 
[objDayFotmatter setDateFormat:@"EEEE"]; 
[objDayFotmatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] 
autorelease]]; 
NSString *objTime=[objTimeFotmatter stringFromDate:date]; 
NSString *objDay=[objDayFotmatter stringFromDate:date]; 
[objDayFotmatter release]; 
[objTimeFormatter release]; 

NSLog(@"objTime=%@",objTime); 
NSLog(@"objDay=%@",objDay); 

Umut bu size yardımcı olur.

1

Swift

let dateFormatter = DateFormatter() 
dateFormatter.locale = NSLocale(localeIdentifier: "en_US") as Locale! 
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss" 
let resultsDate = dateFormatter.string(from: date) 
İlgili konular