Swift DateFormatter、全日(Allday)表示、Style指定

EKEvent全日(isAllDay = true)指定時、startDateの時間は「0:00」。
timeStyle「.short」で表示すると「0:00」になる。
非常時にするにはtimeStyle「.none」にする。

通常時・全日表示取得処理Example

static func dateDisp(date: Date, isAllDay: Bool = false) -> String {
    let dateFormatter = DateFormatter()
    dateFormatter.dateStyle = .full
    var addString = ""
    if isAllDay == false {
        dateFormatter.timeStyle = .short
    }
    else {
        dateFormatter.timeStyle = .none
        addString = " Allday"
    }
    dateFormatter.locale = .current
    return dateFormatter.string(from: date) + addString
}

Swift

Posted by shi-n