计算Swift 3中的日期差异

时间:2017-01-25 09:50:45

标签: swift3

我为标签创建了3个插座,为按钮创建了1个操作,为UIDatePickerView创建了1个插座。 lblField显示当前日期,包括月,日和年[2017年1月25日]格式。按下dueDate操作后,lblField2显示用户选择的日期。现在,我需要计算当前日期和所选日期之间的差异,即lblField3中的(lblField2 - lblField)。如何在Swift3中显示月份和天数的差异值。我需要严格的Swift3?

2 个答案:

答案 0 :(得分:2)

您可以使用dateComponentsFormatter

let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.month,.day]
formatter.maximumUnitCount = 2
formatter.unitsStyle = .full
lblField3.text = formatter.string(from: Date(), to: datePicker.date) ?? ""

如果您想要特定月份和日期的差异,可以这样使用Calendar

let components = Calendar.current.dateComponents([.month, .day], from: Date(), to: datePicker.date)
let dayDifference = components.day!
let monthDifference = components.month!

答案 1 :(得分:0)

        var date = NSDate().dateStringWithFormat(format: "dd.MM.YYY")
    print(date)

<强> 2017年2月15日 这将是日期格式化器简单和新的单行sytax