web-dev-qa-db-ja.com

swift NSDate AMおよびPm形式

日付と時刻を変換するために、私はこれを使用しました:

 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-01-09 01:00:00 +0000 ";"である場合、印刷物では次のようになります:1/09/2017、 1: AMまたはPMなし。

どうすればこれを達成できますか?

ありがとう。

10
Sam

日付フォーマッタの仕様による

hhの代わりにHHを使用して、AM/PMを要求する代わりに24時間形式で日付を取得できます。

したがって、「21/11/2016 01:30」(午後)の日付は「21/11/2016 13:30」になります。

ただし、フォーマットを印刷する必要がある場合は、次を使用して印刷できます。

a

日付の詳細はこちら

12
CptEric

Apple一般的な日付フォーマッターのように、日付形式には「M/dd/yyyy、hh:mm a」を使用する必要があります。

のように:formatter.dateFormat = "M/dd/yyyy, hh:mm a"

これがあなたに役立つことを願っています!

8
Shivani Gor

次のコードを使用すると、完全に役立つ場合があります

//関数を呼び出す

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
}
1
Mitesh jadav