2011-02-27 89 views
0

更改時區我有一個小的IOS程序和獲得從數據庫服務器的時間。我想將其轉換爲用戶localtime(我總是知道服務器的時區)。在一個文本框

我一直在玩更換一塊小時的字符串,但似乎像一個壞主意。

在C#中我將字符串轉換成DateTime和服務器時間和本地時間之間的性差異添加小時,但我根本無法弄清楚如何做到這一點在的ObjectiveC。

所以任何人都可以給一些提示?日期/時間字符串我從服務器獲取如下:

2011-02-27 12時10分02秒

回答

0

我會使用NSDateFormatter將字符串中的日期轉換爲NSDate對象。您可以使用dateByAddingTimeInterval方法在您的小時內添加。另外NSCalendar具有更高級的功能來增加時間間隔。

+0

謝謝你,給了我所需要的提示,我結束了使用下面的代碼:\t \t \t \t \t \t \t的NSDate *日期= [dateFormatter dateFromString:myString的]。 \t \t \t \t \t \t \t NSTimeZone * TZ = [NSTimeZone localTimeZone]; \t \t \t \t \t \t \t NSTimeInterval interval = [tz secondsFromGMT]; \t \t \t \t \t \t \t date = [date addTimeInterval:interval]; – user404 2011-02-28 21:06:40

0

我相信這應該當地時間工作:

NSDateFormatter *dateFormatter = [NSDateFormatter alloc] init]; 
NSLocale *serverLocale = [NSLocale alloc] initWithLocaleIdentifier:@"en_US"];//Change to Server Locale 
[dateFormatter setLocale:serverLocale]; 
[serverLocale release]; 
[dateFormatter setDateFormat:@"YYYY-MM-DD HH:MM:SS"]; 
NSDate *date = [dateFormatter dateFromString:@"2011-02-27 12:10:02 "]; 
//Replace the locale below with what you need 
NSString *dateString = [date descriptionWithLocale:[NSLocale currentLocale]]; 
[dateFormatter release]; 
textField.text = dateString; 
+0

我想你misunderstod的問題,我需要轉換爲TimeDifference添加到我的時間。但是,感謝你的代碼,我很高興看到如何以本地格式顯示直方圖。 – user404 2011-02-28 21:08:40