gpt4 book ai didi

ios - 如何快速获取日期的工作日字符串表示形式

转载 作者:行者123 更新时间:2023-11-30 12:41:44 24 4
gpt4 key购买 nike

我正在尝试获取日期的工作日(星期三,星期二),但我似乎找不到实际获取字符串的好方法。这就是我正在做的事情:

internal func fromToday(daysAgo: Date) -> String {

let calendar = NSCalendar.autoupdatingCurrent
let startOfNow = calendar.startOfDay(for: Date())
let startOfTimeStamp = calendar.startOfDay(for: daysAgo)
let numDaysDifference = abs(calendar.dateComponents([.day], from: startOfNow, to: startOfTimeStamp).day!)
let daysAgoComponents = calendar.dateComponents([.weekday, .hour, .minute], from: daysAgo)

var hour = daysAgoComponents.hour!
var timeOfDay = "AM"

if hour >= 13 {
hour -= 12
timeOfDay = "PM"
}

var res = "\(hour):\(daysAgoComponents.minute!)\(timeOfDay)"

if calendar.isDateInYesterday(daysAgo) {
res = "Yesterday"
} else if numDaysDifference < 8 && numDaysDifference > 1 {
res = stringFromWeekday(day: daysAgoComponents.weekday!) // HERE THIS IS WHAT IM ASKING ABOUT IGNORE OTHER IFS
} else if numDaysDifference >= 8 {
res = stringFromDate(day: daysAgo)
}

return res
}

fileprivate func stringFromWeekday(day: Int) -> String {
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US")

if formatter.weekdaySymbols.count < day {
print("ConversationTVC - \(day) is not a valid day of the week")
}

return formatter.weekdaySymbols[day]
}

具体来说,该行:

else if numDaysDifference < 8 && numDaysDifference > 1 
res = stringFromWeekday(day: daysAgoComponents.weekday!)`

我认为这个问题与weekdaySymbols有关

如何在给定日期的情况下获取 X 天前星期几的字符串表示形式?

最佳答案

问题是我没有从日中减去 1,工作日返回 1-7 而工作日符号是 0-6

关于ios - 如何快速获取日期的工作日字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42166256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com