2012-12-09 127 views
1

此代码。NSDate关于日期和时间显示

NSDate *today = [NSDate date]; 
NSArray *langs = [NSLocale preferredLanguages]; 
NSString *langID = [langs objectAtIndex:0]; 
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:langID]; 
*format = [[NSDateFormatter alloc] init]; 
[format setLocale:locale]; 
[format setDateFormat:@"yyyy/MM/dd HH:mm:ss"]; 
strTime = [[NSString alloc] initWithFormat:@"%@",[format stringFromDate:today]]; 

today is +0000.  
langID is en.  
but,strTime is Japan time.  

为什么? 我想根据语言设置显示日期和时间。

+1

Language!=时区。目前还不清楚你想在这里看到什么,你能扩展这个问题吗? – jrturton

+0

[NSLocale currentLocale]和[NSCalendar currentCalendar] ..看看文档队友 –

+0

用户可以设置与他们的时区不同的区域设置。你在做什么? –

回答

1

而不是

NSArray *langs = [NSLocale preferredLanguages]; 
NSString *langID = [langs objectAtIndex:0]; 
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:langID]; 

试试这个,

NSLocale *locale = [NSLocale currentLocale]; 

这应该帮助。