2015-10-29 49 views
1

我想要的格式爲「DDMMYY-HH:MM:SS」解析字符串使用下面的代碼NSDateFormatter iOS上的7失敗,適用於更高版本

static func parseDate(var date: String?) -> NSDate?{ 
     if(date == nil){ 
      return nil 
     } 
     print("PARSING \(date)") 
     let formatter = NSDateFormatter() 
     formatter.dateFormat = "ddMMyy-HH:mm:ss" 
     let res = formatter.dateFromString(date!) 
     print("RESULT \(res)") 
     return res 
    } 

資源的價值爲零最後,即使日期不是零。然後我試圖消除,還有 - 用符號

date = date!.stringByReplacingOccurrencesOfString(":", withString: "") 
    date = date!.stringByReplacingOccurrencesOfString("-", withString: "") 

然後改變我的格式,以反映這一

formatter.dateFormat = "ddMMyyHHmmss" 

控制檯輸出現在是

TIME IS 291015-12:10:12 
PARSING Optional("291015121012") 
RESULT nil 

我也嘗試添加行

formatter.locale = NSLocale.currentLocale() 

奇怪的是,該應用程序在iOS 9上完美運行,我認爲它也適用於8。

+0

我試圖與格式'DDMMYY-HH代碼:MM:ss'和'121212-12:12:12',其結果是'「DEC 12,2012,12:12 PM「這是正確的 –

+0

@WilliamKinaan在iOS7上? –

+0

哦,我現在看到,沒有對不起,它是iOS 9 –

回答

0

原來這個問題與iOS無關,這是因爲我的ios7設備碰巧在設備設置中處於12小時模式。這使格式化程序困惑。使用

formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") 

通過@WiliamKinaan所建議的解決了這個問題

相關問題