微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – NSCalendarUnit标志设置所​​有标志

以下将创建一个NSDateComponents对象,其中包含日期和工作日但不包含小时:
var today = NSDate()
var gregorian = NSCalendar(calendarIdentifier: NSGregorianCalendar)
var flags: NSCalendarUnit = .DayCalendarUnit | .WeekdayCalendarUnit
var components = gregorian.components(flags,fromDate: today)

// valid
components.day
components.weekday
// invalid
components.hour

为了有小时,我必须| -in.HourCalendarUnit像这样:

flags = flags | .HourCalendarUnit

是否有标志来指定所有标志?或者我只需要手动|如果我想让NSDateComponents拥有它们,那么它们全部都存在?

或者,理想情况下,我希望能够在不使用NSDateComponents的情况下今天说.这样的课程存在吗?

可以使用UInt初始化NSCalendarUnit,这样就可以实现
所有可能的组件:
var today = NSDate()
var gregorian = NSCalendar(calendarIdentifier: NSGregorianCalendar)
var flags = NSCalendarUnit(UInt.max)
var components = gregorian.components(flags,fromDate: today)

Now.hour方法不存在,因为没有计算就无法完成
知道用于转换的时区.

Swift 2更新:

let gregorian = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
let flags = NSCalendarUnit(rawValue: UInt.max)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐