Swift-工作日(按当前位置,由currentCalendar())
今天是星期三,我有此代码
let calendar:NSCalendar = NSCalendar.currentCalendar()let dateComps:NSDateComponents = calendar.components(.CalendarUnitWeekday , fromDate: NSDate())
let dayOfWeek:Int = dateComps.weekday
dayOfWeek是4,但是今天是保加利亚一周中的第3天。今天在美国是星期四吗?以及如何确定一周在不同国家和地区开始的时间?在我的iPhone上,语言环境和日历都设置为保加利亚日历和语言环境,它知道该周也是在iMac上从星期一开始的,但是当我执行代码时,它会写成4
…
回答:
对于阳历,weekday
属性NSDateComponents
始终为1(星期日),2(星期一)等。
NSCalendar.currentCalendar().firstWeekday
给出当前语言环境中第一个工作日的(索引),在美国可能是1,在保加利亚是2。因此
var dayOfWeek = dateComps.weekday + 1 - calendar.firstWeekdayif dayOfWeek <= 0 {
dayOfWeek += 7
}
是您所在地区的星期几。作为单线:
let dayOfWeek = (dateComps.weekday + 7 - calendar.firstWeekday) % 7 + 1
更新
let calendar = Calendar.currentvar dayOfWeek = calendar.component(.weekday, from: Date()) + 1 - calendar.firstWeekday
if dayOfWeek <= 0 {
dayOfWeek += 7
}
以上是 Swift-工作日(按当前位置,由currentCalendar()) 的全部内容, 来源链接: utcz.com/qa/420534.html