2012-07-09 59 views
1

我從webservice獲取日期,如「2012-07-03 07:26:48」。從webservice解析後,我保存在NSString中。而轉換的NSString的NSDate下面的代碼中使用,如何使用NSDateFormatter將NSString轉換爲NSDate?

NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; 
    [dateFormatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; 

    NSString *dateStr = @"2012-07-03 07:26:48"; 
    NSDate *date = [dateFormatter1 dateFromString:dateStr]; 
    NSLog(@"Date : %@", date); 
    The NSLog value is "2012-07-03 01:56:48 +0000"; 

的NSLog的值是 「1點56分48秒2012-07-03 0000」;我不知道爲什麼時間改變了。任何人都可以請幫我做到這一點?

+0

你住在英國嗎? – 2012-07-09 14:06:03

+0

在印度......但在美國工作...... – Gopinath 2012-07-09 14:06:37

+0

你看到它在哪裏+0000?我想這就是說它顯示的是格林尼治標準時間,就好像你在英格蘭一樣。 – 2012-07-09 14:07:48

回答

2

你需要把時區爲:

theDateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; 

因爲它正在考慮GMT時間格式。

1

您必須設置NSDateFormatter的時區。

0

默認情況下,將日期保存爲utc格式,同時將字符串轉換爲nsdate ...您可以從日期獲取原始時間作爲字符串..如果您想更改時區,請使用dateformatter更改它,否則不要更改

+0

請不要發明單詞(如f.i.「u」) – kleopatra 2013-09-12 07:17:03