2015-09-16 115 views
0

這是我的代碼:NSDateFormatter總是返回零

var sdArr = sd.componentsSeparatedByString(".") 
let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'hh:mm:ss" 
let date = dateFormatter.dateFromString(sdArr[0]) 

sdArr[0]值是"2015-10-01T14:30:00"

爲什麼日期的值是零?這在2天前工作正常,我沒有碰我的代碼。現在突然出現的日期的藍色值是零。 我試圖把在地方的sdArr[0]日期字符串,但它仍然沒有工作

+3

添加日期格式'YYYY-MM-dd'T'hh:MM:ss'爲'YYYY-MM-dd'T'HH:MM:ss' –

+0

@crysis剛讓你知道。看起來你的日期是ISO8601格式。它可能是UTC時間,您將其視爲本地時間。 –

回答

3

請使用作爲

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" 

您正在使用hh這是12小時格式日期格式,HH是24小時格式

+0

謝謝。那樣做了。 – crysis

0

添加日期格式yyyy-MM-dd'T'hh:mm:ssyyyy-MM-dd'T'HH:mm:ss,因爲你是24小時格式不12小時格式越來越小時,所以你必須使用HH

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" //HH 

請參閱Formatting date and time with iPhone SDK?(Vanya的答案)瞭解更多關於日期格式的信息。

0

使用此NSDateFormatter

var dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"