Стиль, отображающий дату как относительно сейчас. Фрагмент для воспроизведения (с использованием часового пояса GMT и системного календаря):
Важно: чтобы воспроизвести это, установите системные часы вашего Mac на 8 сентября 2025 года, 3:00 утра. Относительный стиль Swiftui использует текущее системное время в качестве контрольной точки, поэтому изменение часов необходимо, чтобы увидеть поведение.
struct TestDateView: View {
var body: some View {
// 8. July 10AM to 8. September 3AM = Shows 2 months 2 days
let startDate1: Date = Calendar.current.date(from: .init(calendar: .current, timeZone: .gmt,
year: 2025, month: 7, day: 8, hour: 10, minute: 0, second: 0))!
// 5. July 10AM to 8. September 3AM = Shows 2 months 2 days
let startDate2: Date = Calendar.current.date(from: .init(calendar: .current, timeZone: .gmt,
year: 2025, month: 7, day: 5, hour: 10, minute: 0, second: 0))!
// IMPORTANT!: Need to set MAC's clock to 8. September 3:00 AM to reproduce this bug
VStack {
Text(startDate1, style: .relative)
Text(startDate2, style: .relative)
}
}
}
< /code>
Как именно работает. Relative Style работает внутри? Расчеты, но я хотел бы понять этот подход, так как он наказывается, без таймеров или издателей.
Подробнее здесь: https://stackoverflow.com/questions/797 ... or-differe
Мобильная версия