web-dev-qa-db-ja.com

iosでその日の名前を取得するより良い方法swift

私はこのように日の名前を取ります

func loadDayName(forDate date: NSDate) -> String{
    let myComponents = calendar.components(.Weekday, fromDate: date)
    let weekDay = myComponents.weekday
    switch weekDay {
    case 1:
        return "Sunday"
    case 2:
        return "Monday"
    case 3:
        return "Tuesday"
    case 4:
        return "Wednesday"
    case 5:
        return "Thursday"
    case 6:
        return "Friday"
    case 7:
        return "Saturday"
    default:
        return "Nada"
    }
}

それは機能していますが、Swiftには、手動で実行するよりも自動的に実行するためのライブラリがいくつか付属しているかどうか疑問に思っていました

23
sarah

DateFormatterを使用

スウィフト4

let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
let dayInWeek = dateFormatter.string(from: date)

Swift3

let date = NSDate()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat  = "EEEE" // "EE" to get short style
let dayInWeek = dateFormatter.stringFromDate(date) // "Sunday"    

スクリーンショット

enter image description here

72
Leo

曜日名の配列を取得したい場合は、次のように使用できます:weekdaySymbols in Calendar()

例:

let calendar = Calendar(identifier: .gregorian)
let days = calendar.weekdaySymbols
9
ober