ios – Swift – 当前位置by currentCalendar()的工作日

ios – Swift – 当前位置by currentCalendar()的工作日,第1张

概述今天是星期三,我有这个代码 let calendar:NSCalendar = NSCalendar.currentCalendar()let dateComps:NSDateComponents = calendar.components(.CalendarUnitWeekday , fromDate: NSDate())let dayOfWeek:Int = dateComps.weekd 今天是星期三,我有这个代码
let calendar:NSCalendar = NSCalendar.currentCalendar()let dateComps:NSDateComponents = calendar.components(.CalendarUnitWeekday,fromDate: NSDate())let dayOfWeek:Int = dateComps.weekday

dayOfWeek是4,但今天是保加利亚一周的第3天.
今天美国是一周的第四天吗?以及如何确定一周何时开始在不同的国家和地区?
在我的iPhone上,语言环境和日历被设置为保加利亚日历和语言环境,它知道星期一也在我的iMac上开始,但是当我执行代码时它写了4 …

解决方法 对于公历,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

Swift 3的更新:

let calendar = Calendar.currentvar dayOfWeek = calendar.component(.weekday,from: Date()) + 1 - calendar.firstWeekdayif dayOfWeek <= 0 {    dayOfWeek += 7}
总结

以上是内存溢出为你收集整理的ios – Swift – 当前位置by currentCalendar()的工作日全部内容,希望文章能够帮你解决ios – Swift – 当前位置by currentCalendar()的工作日所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存