Ios “工作日”是否保证在[1:7]范围内?

Ios “工作日”是否保证在[1:7]范围内?,ios,date,calendar,foundation,Ios,Date,Calendar,Foundation,我相信答案是肯定的,但苹果的文档暗示答案是否定的 工作日单位是数字1到n,其中n是一周中的天数。例如,在公历中,n是7,星期日用1表示 这句话似乎表明,不同的日历系统有不同的周长。在维基百科上做了一些研究之后,我找不到任何n!=7 我是不是误读了?基金会里有日历有几个星期吗? n!7?这不一定是一种保证,但以下代码未发现除1之外没有工作日范围的任何区域设置的日历。是的,工作日保证(至少对于iOS中可用的日历)在该范围内,我解释文档所指的是,在不同的日历中,工作日的数字是不同的。周日在公历中用1表

我相信答案是肯定的,但苹果的文档暗示答案是否定的

工作日单位是数字1到n,其中n是一周中的天数。例如,在公历中,n是7,星期日用1表示

这句话似乎表明,不同的日历系统有不同的周长。在维基百科上做了一些研究之后,我找不到任何
n!=7


我是不是误读了?基金会里有日历有几个星期吗?<代码> n!7?

这不一定是一种保证,但以下代码未发现除
1之外没有工作日范围的任何区域设置的日历。是的,
工作日
保证(至少对于iOS中可用的日历)在该范围内,我解释文档所指的是,在不同的日历中,工作日的数字是不同的。周日在公历中用1表示,但不一定是其他的。@Esesumedgars我知道不同的日历从不同的日子开始。这句话暗示n并不总是等于7。至少对我来说是这样。我认为,“在所有日历系统中,n=7,在公历中,星期日用1表示”更为清晰。最小/最大范围正是我所需要的。我读这些文件时一定把它们遮住了。回去后,我尝试使用
范围(of:in:for:)
,但奇怪的是没有
组件。week
。在运行脚本之后,我可能只需要硬编码7或使用一个范围函数。谢谢你的帮助
let calIds: [Calendar.Identifier] = [ .buddhist, .chinese, .coptic, .ethiopicAmeteAlem, .ethiopicAmeteMihret, .gregorian, .hebrew, .indian, .islamic, .islamicCivil, .islamicTabular, .islamicUmmAlQura, .iso8601, .japanese, .persian, .republicOfChina]
for calId in calIds {
    var cal = Calendar(identifier: calId)
    for locId in Locale.availableIdentifiers {
        let locale = Locale(identifier: locId)
        cal.locale = locale

        if let weekdayMin = cal.minimumRange(of: .weekday), let weekdayMax = cal.maximumRange(of: .weekday) {
            if weekdayMin == weekdayMax {
                if weekdayMin.startIndex != 1 || weekdayMin.count != 7 {
                    print("Calendar \(calId) with locale \(locId) isn't 1..<8: \(weekdayMin)")
                }
            } else {
                print("Calendar \(calId) with locale \(locId) has a different min and max weekday range: \(weekdayMin) - \(weekdayMax)")
            }
        } else {
            print("Calendar \(calId) with locale \(locId) doesn't have both a min and max weekday range")
        }
    }
}