在 Swift Foundation Measurements 框架中使用 Years 单位间隔
Using Years unit interval in Swift Foundation Measurements framework
如何使用 Foundation 的 Measurements() 显示以年(或年 + 月)为单位的日期间隔?我已经让它显示间隔,但我发现它的最大单位是小时......它对我无效(以漂亮的本地化显示 87600 小时,间隔 10 年)
如何解决这个问题?
我的代码:
// MODEL part
var yearsLived: Measurement<UnitDuration>? {
if let hours = birthDate?.getInterval(toDate: deathDate, component: .hour) {
let hours = Measurement(value: Double(hours), unit: UnitDuration.hours)
return hours
}
return nil
}
// VC PART:
if let yearsLived = person?.yearsLived {
let formatter = MeasurementFormatter()
formatter.unitStyle = .long
formatter.unitOptions = [.naturalScale]
yearsLivedLabel.text = formatter.string(from: yearsLived)
}
how can I display date iterval in years (or years + months) using Foundation’s Measurements
你不知道。您使用 DateComponentsFormatter.
如何使用 Foundation 的 Measurements() 显示以年(或年 + 月)为单位的日期间隔?我已经让它显示间隔,但我发现它的最大单位是小时......它对我无效(以漂亮的本地化显示 87600 小时,间隔 10 年)
如何解决这个问题?
我的代码:
// MODEL part
var yearsLived: Measurement<UnitDuration>? {
if let hours = birthDate?.getInterval(toDate: deathDate, component: .hour) {
let hours = Measurement(value: Double(hours), unit: UnitDuration.hours)
return hours
}
return nil
}
// VC PART:
if let yearsLived = person?.yearsLived {
let formatter = MeasurementFormatter()
formatter.unitStyle = .long
formatter.unitOptions = [.naturalScale]
yearsLivedLabel.text = formatter.string(from: yearsLived)
}
how can I display date iterval in years (or years + months) using Foundation’s Measurements
你不知道。您使用 DateComponentsFormatter.