我认为我有两个日期选择器。 一个具有日期模式,一个具有时间模式。按下另一个按钮,我希望能够获取日期选择器和时间选择器的值,并将它们组合成一个时代。
到目前为止,我一直试图从日期选择器中删除时间:
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到此为了获得所需的组合时代
答案 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)