gpt4 book ai didi

swift - 有什么方法可以快速划分两个 DateComponents 操作数

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

我可以得到两个特定日期之间的差异,这将等于日期总数。现在我想将工作日除以总天数并得到整数输出。

 @IBAction func go(_ sender: UIButton) {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let task = Habits(context: context)


//total number of days started here
//last date
let ldate = "2019-02-15"
let dateformatter = DateFormatter()
dateformatter.dateFormat = "yy-MM-dd"
let formatedStartDate = dateformatter.date(from: ldate)
//last date
//current date
let cDate = Date()
task.sDate = cDate
//current date
let components = Set<Calendar.Component>([.day])
let differenceOfDate = Calendar.current.dateComponents(components, from: formatedStartDate!, to: cDate)
print("difference starts from here!!")
print(differenceOfDate)
//total number of days ended here


//working days
let wDate = "2019-02-15"
let wDateFormatter = DateFormatter()
wDateFormatter.dateFormat = "yy-MM-dd"
let wformatedStartDate = wDateFormatter.date(from: wDate)
let wcDate = Date()
task.sDate = wcDate
let wcomponents = Set<Calendar.Component>([.day])
let wdifferenceOfDate = Calendar.current.dateComponents(wcomponents, from: wformatedStartDate!, to: wcDate)
print("difference starts from here!!")
print(wdifferenceOfDate)
let per = differenceOfDate/wdifferenceOfDate //error:Binary operator '/' cannot be applied to two 'DateComponents'
//working days ended here
}

最佳答案

如果我答对了你的问题,你需要来自 differenceOfDate 对象的日期组件。

您可以使用differenceOfDate.day 获取它,这是可选 值,因此您需要使用if let 进行条件展开。检查以下代码:

let workingDays = 5 //Suppose workingDays is 5.
if let differenceInDay = differenceOfDate.day {
let divideWithWorkingDay = differenceInDay / workingDays
print(divideWithWorkingDay) // 1
}

关于swift - 有什么方法可以快速划分两个 DateComponents 操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849291/

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