-4
明日から今日までの日をどのように取得するのですか?たとえば、今日がmondayの場合、私は火曜日、水曜日、日曜日までに日を取得する必要があります。誰かが私にこれを達成する方法を教えてもらえますか?スウィフト - 今日のロケールを取得する
おかげ
明日から今日までの日をどのように取得するのですか?たとえば、今日がmondayの場合、私は火曜日、水曜日、日曜日までに日を取得する必要があります。誰かが私にこれを達成する方法を教えてもらえますか?スウィフト - 今日のロケールを取得する
おかげ
あなたが出力をしたいどのような形式に応じて、それを行うには、いくつかの方法があります。あなたは順番に整数の配列をしたいと仮定すると、あなたが使用できます。
let today = Date()
let gregorian = Calendar(identifier: .gregorian)
let dateComponents = gregorian.dateComponents([.weekday], from: today)
let todaysWeekday = dateComponents.weekday!
var otherWeekdays: [Int] = []
for i in 1...6 {
otherWeekdays.append((todaysWeekday - 1 + i) % 7 + 1)
}
// assuming today = 2 (Monday), otherWeekdays will contain [3, 4, 5, 6, 7, 1]
あなたはまた、日の名前を含む文字列の配列をしたい場合は、ローカライズを気にしないならば、あなたは簡単な検索を行うことができます。堅牢なローカライズが必要とされていて、文字列だけをしたい場合は
let weekdayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
let otherWeekdayStrings = otherWeekdays.map({weekdayNames[$0 - 1]})
// otherweekdayStrings will contain ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
は、あなたがたDateFormatterを使用して、このような何かを行うことができます。
let today = Date()
let formatter = DateFormatter()
formatter.dateFormat = "EEEE"
var otherweekdayStrings: [String] = []
for i in 1...6 {
let timeIntervalToAdd = TimeInterval(i * 86400)
otherweekdayStrings.append(formatter.string(from: today.addingTimeInterval(timeIntervalToAdd)))
}
// Same output as previous
心はなぜdownvote私に言って? – Voyager