2011-10-24 36 views
1

總是我在iphone應用程序的NSDate掙扎。我爲美國客戶開發了一款iPhone應用程序。該應用程序應該顯示今天的日期。我在我的應用程序中使用了以下代碼。日期顯示正確(我在印度)。但是,該日期還顯示了我在美國的客戶的印度日期。我想顯示從iPhone/iPad設備的日期。如何在iPhone應用程序中顯示設備日期和時間?

NSDate *today1 = [[NSDate alloc] init]; 

NSString *dates = [NSString stringWithFormat:@"%@",[today1 description]]; 
dates = [dates substringToIndex:10]; 

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateStyle:NSDateFormatterBehaviorDefault]; 
[dateFormat setTimeZone:[NSTimeZone localTimeZone]]; 
[dateFormat setDateFormat:@"yyyy-MM-dd"]; 
NSDate *date = [dateFormat dateFromString:dates]; 

如何做到這一點?任何建議/示例代碼來解決這個問題?我花了6個小時來解決我的問題,但是,我沒有找到答案?請幫幫我。感謝您花費寶貴的時間陪伴我。

回答

4

使用區域設置 查看代碼的打擊來自here

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
NSLocale *gbLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"]; 

NSString *dateFormat; 
NSString *dateComponents = @"yMMMMd"; 

dateFormat = [NSDateFormatter dateFormatFromTemplate:dateComponents options:0 locale:usLocale]; 

更新答案兩者低於

我已經測試這應該開箱任何地方是世界的。

NSDate *date = [NSDate date]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-dd"]; 
[dateFormat setLocale:[NSLocale currentLocale]]; 
NSString *dateString = [dateFormat stringFromDate:date]; 
[dateFormat release]; 
NSLog(@"Date: %@:", dateString); 
+0

我上面一行用在我的代碼,但它顯示一個警告,如「不完全的Objective-C型分配‘結構的NSString *’,預期‘結構NSDateFormatter’。這是我試過, –

+0

NSString * dateComponents = @「MMM d yyyy」; NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init] autorelease];我試過這一行,我不知道它工作正常,因爲現在在美國也是24.10.2011 .. dateFormatter = [NSDateFormatter dateFormatFromTemplate:dateComponents options:0 locale:[NSLocale currentLocale]]; //應用程序在通過此行後崩潰後崩潰 [dateFormatter setDateStyle:NSDateFormatterBehaviorDefault]; [dateFormatter setDateFormat:@「MMM d yyyy」]; –

+0

感謝您的建議,我會從我的代碼中刪除行「@ en_GB」。我應用了您最後修改的代碼,但它也顯示了相同的警告和應用程序崩潰。我希望你能解決我的問題。我也嘗試最好的水平。非常感謝。 –

1

嘗試使用

[dateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]]; 
+0

謝謝你,我的朋友。我還有一個疑問,它可以在其他國家的用戶中使用嗎?你能澄清我的疑問嗎? –

相關問題