2017-03-02 81 views
3

要轉換的日期和時間,我已經使用這個:迅速的NSDate上午和下午格式

let formatter = NSDateFormatter() 
formatter.calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierISO8601) 
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") 
formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0) 
formatter.dateFormat = "M/dd/yyyy, h:mm" 
formatter.AMSymbol = "AM" 
formatter.PMSymbol = "PM" 
let dateString = formatter.stringFromDate(model.courseDate) 
print(dateString) 

如果課程日期爲「courseDate =‘2017年1月9日01:00:00 +0000’ ;」 但我越來越喜歡這個在打印: 2017年1月9日,1:00沒有任何上午或下午。

我該如何做到這一點?

謝謝。

+0

試試這個'M/DD/YYYY,H:MM了',你不需要設置'AMSymbol/PMSymbol' –

+0

嘗試formatter.dateFormat =「M/DD/YYYY,H:毫米一個」 –

+0

它是DateFormatter與斯威夫特3. –

回答

3

按照蘋果一般的日期格式,你應該使用「M/DD/YYYY,HH:MM是」在你的日期格式。

,如:formatter.dateFormat = "M/dd/yyyy, hh:mm a"

希望這將幫助你!

8

根據日期格式規範

您可以通過使用替代HH

所以日期「21/11 HH檢索24小時格式,而不是要求AM/PM日期/ 2016 01:30" (時)將是 「21/11/2016 13:30」。

如果確實需要打印的格式,不過,你可以打印使用:

一個

More date fomatting details here

1

使用下面的代碼可以幫助全力爲您

//調用函數

let dateTime = self.convertDateFormaterAamer(sendTimeStep, inputDateFormate: "dd-MM-yyyy HH:mm:ss", outputDateFormate: "dd-MMM-yyyy hh:mm a") 

//日期函數

func convertDateFormater(date: String,inputDateFormate: String , outputDateFormate: String) -> String 
{ 
    let dateFormatter = NSDateFormatter() 
    //dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 
    //dateFormatter.timeZone = NSTimeZone(name: "UTC") 
    dateFormatter.dateFormat = inputDateFormate 


    let date = dateFormatter.dateFromString(date) 

    //dateFormatter.dateFormat = "yyyy MMM EEEE HH:mm" 
    //dateFormatter.timeZone = NSTimeZone(name: "UTC") 
    dateFormatter.dateFormat = outputDateFormate 
    var timeStamp = "" 
    if (date != nil) 
    { 
     timeStamp = dateFormatter.stringFromDate(date!) 
    } 
    return timeStamp 
} 
相關問題