我從webservice獲取字符串「2011-09-24T00:30:00.000-07:00」。 我不知道這是什麼格式,並希望在目標c中的日期對象轉換。將字符串轉換爲NSDate對象
因此,任何知道如何將此字符串轉換爲日期。
非常感謝您
我從webservice獲取字符串「2011-09-24T00:30:00.000-07:00」。 我不知道這是什麼格式,並希望在目標c中的日期對象轉換。將字符串轉換爲NSDate對象
因此,任何知道如何將此字符串轉換爲日期。
非常感謝您
有從這種格式獲得日期/時間的小問題,即需要刪除的時區中的':',Apple不處理這種情況,也不是適當的UTS格式。下面是一個例子:
NSString *dateString = @"2011-09-24T00:30:00.000-07:00";
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:NSMakeRange(dateString.length-3, 1)];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"date: %@", date);
的NSLog輸出:date: 2011-09-24 07:30:00 +0000
作爲測試顯示剛創建的日期:
NSString *testDateString = [formatter stringFromDate:date];
NSLog(@"date: %@", testDateString);
的NSLog輸出:date: 2011-09-24T03:30:00.100-0400
注意,時間和時區域已被NSLog轉換爲我的本地時區,考慮到這兩個更改的日期/時間與原始相同。
嗨,感謝您的回覆此代碼幫助我創建日期對象,但問題是它顯示我錯誤的時間,因爲我的時區可能不同,你能夠創建激勵時間,就像我給出的字符串一樣。如果是,那麼你能告訴我該怎麼做...... –
可能的重複[是否有一種簡單的方法將ISO8601時間戳轉換爲格式化的NSDate?](http://stackoverflow.com/questions/2201216/is-there-a-simple-way-of-converting- an-iso8601-timestamp-to-a-formatted-nsdate) –