>我有一个值正在通过 UITextField 传递,这是一个格式为"Jun 15, 2017"的日期值我想将此值存储在变量中作为日期值,我可以在等式中使用,在其中添加月份以获得一些未来的日期,然后我想从今天的日期中减去未来日期以确定剩余天数。我的研究使我找到了两个值都是日期值的示例,但我的值作为字符串传递。
设置日期值的代码:
let dateFormatter = DateFormatter()
//dateFormatter.dateFormat = "YYYY-MM-DD"
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .none
termStartDate.text = dateFormatter.string(from: datePicker.date)
self.view.endEditing(true)
如果要
执行日期/时间计算,请查看Calendar
结构。下面是如何进行历法计算的示例:
let dateStr = "Jun 15, 2017"
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .none
if let date = dateFormatter.date(from: dateStr) {
let threeMonthFromDate = Calendar.current.date(byAdding: .month, value: 3, to: date)!
let daysRemaining = Calendar.current.dateComponents([.day], from: date, to: threeMonthFromDate).day!
print(daysRemaining)
}