2013-10-23 161 views
1

我通過JSON通過Web服務獲取String格式的日期,這個日期在mysql數據庫中是一個TimeStamp字段。NSString到NSDate沒有正確的結果

我得到的Web服務之日起這樣2013年9月24日20點三十分00秒

當我運行代碼從一個NSString的是NSDate的得到這個2013-09- 24 18:30:00 +0000

我用做解析的代碼是:

- (NSDate *)parseNSStringToNSDate:(NSString *)hora { 
     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
     [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
     return [dateFormatter dateFromString:hora]; 
    } 

如果你意識到我已經離開兩小時所有時間,不知道爲什麼。 我也一直在測試時區設置。例如:

- (NSDate *)parseNSStringToNSDate:(NSString *)hora { 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GTM"]]; 
return [dateFormatter dateFromString:hora]; 

}

+0

你的意思是,你錯了時間ryt? –

+0

你只需要記錄NSDate?如果是這樣,那麼停下來看看關於這個主題的其他數百個問題。 – borrrden

回答

4

你可以這樣做只是想。

- (NSDate *)parseNSStringToNSDate:(NSString *)hora { 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

    NSLocale * enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; 
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 
    [dateFormatter setLocale:enUSPOSIXLocale]; 

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
    return [dateFormatter dateFromString:hora]; 
    } 

希望,這將工作。

所有最好的

+0

感謝您的回覆!,作品! – TeRRo