- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一段处理日期的代码。 DateFormatter
类的实例有一个名为 generateCalendarDates
的属性。我相信这是一个 bool 值,用于根据当前日历创建日期。但是,当我尝试在 Xcode 中分配或检查此属性时,我会从我的代码完成中收到对该属性的描述。
它实际上告诉我不要使用这个属性。我想知道这是为什么。因为我实际上在考虑使用它。
最佳答案
generatesCalendarDates
属性告诉 NSDateFormatter
在解析日期时创建 NSCalendarDate
而不是 NSDate
的实例。
它在 Swift 中不可用,因为 NSCalendarDate
已弃用,而且大多数弃用的 API 在 Swift 中不可用。
NSCalendarDate
是什么?它是 NSDate
的子类,添加了 timeZone
属性并具有使用公历执行计算的方法。
为什么它被弃用了?因为 Apple 在 Mac OS X 10.4 (Tiger) 中引入了 NSCalendar
类。您可以使用 NSCalendar
的实例来使用多种不同的日历(包括公历)执行计算。 NSCalendar
有自己的 timeZone
属性,这是有意义的; NSDate
对象始终与时区无关。
DateFormatter
使用其 calendar
属性解析(和格式化)日期。默认情况下,calendar
属性设置为 Calendar.current
,这是系统日历。用户可以在“设置”>“通用”>“语言和地区”>“日历”中选择系统日历。
如果需要,您可以将 calendar
属性显式设置为 Gregorian:dateFormatter.calendar = Calendar(identifier: .gregorian)
。但我不推荐它。如果用户选择了不同的日历,您确定要强制使用公历吗?
关于ios - 为什么我不能使用 DateFormatter 属性 generateCalendarDates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44056489/
我正在编写一段处理日期的代码。 DateFormatter 类的实例有一个名为 generateCalendarDates 的属性。我相信这是一个 bool 值,用于根据当前日历创建日期。但是,当我尝
我是一名优秀的程序员,十分优秀!