2014-03-03 87 views
0

我的網絡服務返回給我的日期是這樣的/Date(1342622718553-0700)/。 我如何將它轉換爲NSDate。如何解析此日期(/日期(1342622718553-0700)/)日期類型

我已經看到這種類型的解析HereHere但它不適用於iOS。

+2

這就是我用過的:http://stackoverflow.com/a/6065278/1039901 –

+0

可能重複[解析JSON日期在iPhone](http://stackoverflow.com/questions/1757303/parsing-json-dates-on-iphone) –

+0

Thanx @EPyLEpSY你建議的鏈接有完美的答案。 – Dilip

回答

0

您正在解析的日期對象被稱爲ISO8601 DateFormatter,其較早的日期格式及其推薦的格式不適用於新開發。 爲您的解決方案,你可以通過使用庫類ISO8601DateFormatter Classes

首次進口ISO8601DateFormatter.h和.m文件在烏爾項目解析此日期和解析如下您的日期:

NSString *myDate = @"/Date(1342622718553-0700)/"; 
    ISO8601DateFormatter *dateFormatter = [[ISO8601DateFormatter alloc] init]; 
    [dateFormatter setFormat:ISO8601DateFormatOrdinal]; 
    NSDate *dateObject = [dateFormatter dateFromString:myDate]; 

這對我的作品。您可以根據您的要求編輯格式樣式。 此鏈接爲您提供詳細信息Check Here for ISO 8601 date formatter

+0

Thanx回覆。你說'推薦不要用在新的開發中'你能告訴我爲什麼嗎?只是因爲它的有害性比我會告訴我的網絡開發者改變它。 – Dilip

+0

它不是一個大問題。實際上,ISO 8601爲日期和時間提供了標準的明確格式(實際上有幾個格式)。不幸的是,Objective-C中的NSDateFormatter並不完全支持ISO 8601;特別是它不支持週日期或有序日期。 所以可能會給你造成一些問題,(取決於你的要求)。 請檢查我上面提供的鏈接 http://boredzo.org/iso8601unparser/ –