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