swift - 有什么方法可以快速划分两个 DateComponents 操作数
问题描述
我可以得到两个特定日期之间的差异,这将等于日期总数。现在我想将工作日除以总天数并将输出作为整数。
@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
object 的 day 组件。
你可以得到它differenceOfDate.day
的Optional
价值,所以你需要if let
用于条件展开。检查以下代码:
let workingDays = 5 //Suppose workingDays is 5.
if let differenceInDay = differenceOfDate.day {
let divideWithWorkingDay = differenceInDay / workingDays
print(divideWithWorkingDay) // 1
}
推荐阅读
- excel - 用于从 Internet Explorer 转换为 Edge 或 chrome 浏览器的 VBA 脚本
- xamarin.forms - 如何使用 azure B2C 直接链接到身份提供者?
- java - 从 Java 同步运行命令行进程
- java - 使用 Mongo Repository-Spring Data 进行聚合
- windows - 是否有一种简单直接的方法来检查是否在 Windows 中启用/禁用了 UAC?
- python - 给定天数和日期,然后在 python 中找到开始或结束日期
- c++ - 为什么 cout 在这种情况下不会溢出?
- r - Forestplot 输出一个空白的森林图
- google-cloud-platform - 如何从 Google Data Studio 上的页面 url 中提取特定字符串?
- string - python中的JOIN函数在字符串末尾添加一个字母