剥离休假日期选择器和休假时间选择器 swift
strip time off date picker and date off time picker swift
我有两个日期选择器。
一个有日期模式,一个有时间模式。在按下另一个按钮时,我希望能够获取日期选择器和时间选择器的值并将它们组合成一个纪元。
到目前为止,我已经尝试像这样从日期选择器中删除时间:
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 因为我将从我的第二个选择器中添加我的纪元 val 到这个以获得所需的组合纪元
从选择器中获取日期
let date1 = datePicker1.date
let date2 = datePicker2.date
从 date 选择器获取 [.year, .month, .day]
组件,从 time 选择器获取 [.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)
将 time 组件复制到 date 组件并创建组合日期
dateComponents.hour = timeComponents.hour
dateComponents.minute = timeComponents.minute
dateComponents.second = timeComponents.second
let date3 = calendar.date(from: dateComponents)
我有两个日期选择器。 一个有日期模式,一个有时间模式。在按下另一个按钮时,我希望能够获取日期选择器和时间选择器的值并将它们组合成一个纪元。
到目前为止,我已经尝试像这样从日期选择器中删除时间:
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 因为我将从我的第二个选择器中添加我的纪元 val 到这个以获得所需的组合纪元
从选择器中获取日期
let date1 = datePicker1.date let date2 = datePicker2.date
从 date 选择器获取
[.year, .month, .day]
组件,从 time 选择器获取[.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)
将 time 组件复制到 date 组件并创建组合日期
dateComponents.hour = timeComponents.hour dateComponents.minute = timeComponents.minute dateComponents.second = timeComponents.second let date3 = calendar.date(from: dateComponents)