SwiftUI显示昨天的日期

问题描述 投票:0回答:1

如何在SwiftUI中列出昨天的日期?这可能是一个简单的答案,但我只是在学习编码,由于某种原因,我似乎在任何地方都找不到解决方案。是因为太容易了吗?

struct DateShown: View {
let datechoice: Datechoice
var body: some View {

        Text(currentDate(date: Date()))
            .font(.headline)
            .fontWeight(.bold)
            .foregroundColor(.blue)
    }


func currentDate(date: Date!) -> String {
    let formatter = DateFormatter()
    formatter.locale = .current
    formatter.dateFormat = "MMMM d, yyyy"
    return date == nil ? "" : formatter.string(from: date)
}

}

swiftui swift5
1个回答
0
投票

我宁愿使用View扩展,尽管您还需要日期格式,所以我采用了更简单的方法来扩展您的解决方案。如果“ dayComponent.day”行中的数字为正数,那么您将在时间上走得更远。我测试下:

  • swift 5
  • xcode 11.3.1
  • iOS 13.3.1非测试版

    func currentDate(date: Date!) -> String {
        var dayComponent = DateComponents()
        dayComponent.day = -1
        let calendar = Calendar.current
        let nextDay =  calendar.date(byAdding: dayComponent, to: Date())!
        let formatter = DateFormatter()
        formatter.locale = .current
        formatter.dateFormat = "MMMM d, yyyy"
        return formatter.string(from: nextDay). //Output is "March 6, 2020
    }
    

用法与您相同:

Text(currentDate(date: Date()))
© www.soinside.com 2019 - 2024. All rights reserved.