gpt4 book ai didi

ios - 想要获取时间数组

转载 作者:行者123 更新时间:2023-11-28 15:29:43 27 4
gpt4 key购买 nike

我正在尝试获取时间数组,其中时间将从当前时间 + 1 小时开始,之后到下午 5 点,它将显示 30-30 分钟的时间差。

func getTimeArray(){
let date = Date()
var dateComponents = DateComponents()
let timeFormatter = DateFormatter()

let calendar = Calendar.current
var components = calendar.dateComponents([.hour , .minute], from: date)

dateComponents.hour = components.hour
dateComponents.minute = components.minute
timeFormatter.dateFormat = "h:mm a"

guard let startTime = calendar.date(from: dateComponents) else {
return }
for i in 0 ... 10 {
guard let newDate = calendar.date(byAdding: .minute , value: i + 30, to: startTime) else {return}
timeArray.append(timeFormatter.string(from: newDate).localizedUppercase)
print(timeArray)
}

print(timeArray)

}

结果是:- [“12:53 PM”、“12:54 PM”、“12:55 PM”、“12:56 PM”、“12:57 PM”、“12:58 PM” , "12:59 PM", "1:00 PM", "1:01 PM", "1:02 PM", "1:03 PM"]我需要:- ["12:30", "1:00", "1:30", "2:00"]

最佳答案

一种更结构化的方式来满足您的需求:

func getTimeArray(){
var timeArray = [String]()
let timeFormatter = DateFormatter()
timeFormatter.dateFormat = "h:mm"

for i in 0 ... 10 {
guard let dt:Date = Calendar.current.date(byAdding: .minute, value: 30*i, to: Date()) else {return}
timeArray.append(timeFormatter.string(from: dt).localizedUppercase)

}
print(timeArray)
}

关于ios - 想要获取时间数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44858242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com