gpt4 book ai didi

swift - 快速比较复杂的两个日期

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

构建一个应用程序来发行排队系统票。用户检查他将预订机票的分支机构并以一定的延迟时间出票。延迟时间是他到达分支机构所需的时间。

排队系统API网点数据库中有网点的开闭时间字段,字符串格式为"9:00""17:00"。 API 也有一个 bool 值字段,如果分支关闭或打开我会使用它,所以我检查该 bool 值是否在分支状态关闭时不发出票证。

问题是当分行开放时,用户会在一定的延迟时间内出票。我需要做的是计算:

   var branchClosingTime = "17:00"
var delay = 3000 //sec
var timeNow = Date().TimeIntervalSince1970

if (timeNow + delay) < branchClosingTime {
print("Issue ticket")
} else {
print("Don't issue ticket")
}

通过这个计算,我将检查他是否没有超过分行关闭时间。我心里有算法,但我真的不知道如何做到这一点。我在 xcode Playground 玩了一点将日期转换为 unix 时间戳,但我不知道如何将这个结束时间字符串转换为 unix 时间戳并进行比较。

最佳答案

您可以使用以下方法解析字符串的内容:

let dateString = "20:34"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"

if let date = dateFormatter.date(from: dateString) {
let calendar = Calendar.current
let components = calendar.dateComponents([.hour,.minute], from: date)

print(components.hour!)
print(components.minute!)
}

Calendar 类有例程可以帮助您确定字符串代表的日期(相对于现在)。例如,我不知道您的“17:00”是指今天还是下一个 17:00...但是日历类有一些例程可以帮助您弄明白。

关于swift - 快速比较复杂的两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43904338/

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