在 SwiftUI 中,可以使用 'Calendar' 来比较两个 'Date' 对象之间的秒时间差。下面是一个示例代码:

import SwiftUI

struct ContentView: View {
    let formatter: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateStyle = .medium
        formatter.timeStyle = .medium
        return formatter
    }()
    
    var body: some View {
        VStack {
            Text('Date 1: (getDate1())')
            Text('Date 2: (getDate2())')
            Text('Time difference: (getTimeDifference()) seconds')
        }
    }
    
    func getDate1() -> String {
        let date1 = Date() // 第一个日期
        return formatter.string(from: date1)
    }
    
    func getDate2() -> String {
        let date2 = Date().addingTimeInterval(3600) // 第二个日期(比第一个日期晚1小时)
        return formatter.string(from: date2)
    }
    
    func getTimeDifference() -> TimeInterval {
        let calendar = Calendar.current
        let date1 = Date()
        let date2 = Date().addingTimeInterval(3600)
        
        let components = calendar.dateComponents([.second], from: date1, to: date2)
        return TimeInterval(components.second ?? 0)
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

在上述代码中,'getDate1()' 和 'getDate2()' 方法获取当前日期和一个比当前日期晚 1 小时的日期,并将它们转换为字符串以供显示。

'getTimeDifference()' 方法使用 'Calendar' 的 'dateComponents(_:from:to:)' 函数来计算两个日期之间的秒数差异,并返回时间间隔。

SwiftUI 比较两个 Date 对象的秒时间差

原文地址: https://www.cveoy.top/t/topic/pnyF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录