2011-02-27 65 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

相关问题