剥离时间关闭日期选择器和日期关闭时间选择器迅速

时间:2017-07-13 11:10:23

标签: swift date uidatepicker epoch

我认为我有两个日期选择器。 一个具有日期模式,一个具有时间模式。按下另一个按钮,我希望能够获取日期选择器和时间选择器的值,并将它们组合成一个时代。

到目前为止,我一直试图从日期选择器中删除时间:

let dFormat = DateFormatter()
dFormat.dateFormat = "MMM dd yyyy"
let dateString = dFormat.string(from: datePicker.date)

let dateObj = dFormat.date(from: dateString)
let epochDate = dateObj?.timeIntervalSince1970
print ("date is \(epochDate)")

但我现在仍然正在接受它。我需要它是00:00 am因为我将从我的secon选择器添加我的epoch val到此为了获得所需的组合时代

1 个答案:

答案 0 :(得分:1)

  • 从拣货员那里获取日期

    let date1 = datePicker1.date
    let date2 = datePicker2.date
    
  • 日期选择器中获取[.year, .month, .day]个组件,从时间选择器中获取[.hour, .minute, .second]

    let calendar = Calendar.current
    var dateComponents = calendar.dateComponents([.year, .month, .day], from: date1)
    let timeComponents = calendar.dateComponents([.hour, .minute, .second], from: date2)
    
  • 时间组件复制到日期组件并创建组合日期

    dateComponents.hour = timeComponents.hour
    dateComponents.minute = timeComponents.minute
    dateComponents.second = timeComponents.second
    
    let date3 = calendar.date(from: dateComponents)