我有一个值通过UITextField传递,这是一个日期值,格式为'2017年6月15日'我希望将此值存储在变量中作为日期值,我可以在我添加月份的方程式中使用为了得到一些未来的日期,我想从今天的日期减去未来的日期,以确定剩余的天数。我的研究让我得到了一些例子,其中值都是日期值,但我的值是作为字符串传递的。
设置日期值的代码:
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)
答案 0 :(得分:2)
如果要执行日期/时间计算,请查看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)
}