我从其他线程中得到了一个代码片段,但我想知道是否有人可以帮助我转换此函数,以便它以如下格式打印出日期:“dd-MM-yyyy”。目前它只打印一天。
func getLast7Dates()
{
let cal = Calendar.current
var date = cal.startOfDay(for: Date())
var days = [Int]()
for i in 1 ... 7 {
let day = cal.component(.day, from: date)
days.append(day)
date = cal.date(byAdding: .day, value: -1, to: date)!
}
print(days)
}
我知道我需要使用:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
但我不知道该把它放在函数中的哪个位置,因为这是我第一次处理日期。
谢谢你的帮助:)
最佳答案
在函数中设置一次格式化程序,并按如下方式使用它(不要进行太多其他小更改):
func getLast7Dates()
{
let cal = Calendar.current
let date = cal.startOfDay(for: Date())
var days = [String]()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
for i in 1 ... 7 {
let newdate = cal.date(byAdding: .day, value: -i, to: date)!
let str = dateFormatter.string(from: newdate)
days.append(str)
}
print(days)
}
关于swift - Swift 3函数以格式化字符串的形式显示最近7天,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40579707/