Использование единицы измерения Годы в структуре измерений Swift Foundation - PullRequest
0 голосов
/ 18 июня 2019

как можно отобразить дату в годах (или годах + месяцах) с помощью измерений Фонда ()? Я сделал это, чтобы отобразить интервал, но самая большая единица, я нашел это часы ... и это недопустимо для меня (дисплей с прекрасной локализацией 87600 часов для интервала 10y)

как это исправить?

мой код:

// 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)
}

1 Ответ

1 голос
/ 18 июня 2019

как я могу отображать дату в годах (или годах + месяцах), используя измерения Фонда

Вы не можете.Вы используете DateComponentsFormatter .

...