我认为有两个日期选择器。 一个有日期模式,一个有时间模式。在按下另一个按钮时,我希望能够获取日期选择器和时间选择器的值并将它们组合成一个纪元。
到目前为止,我已经尝试像这样从日期选择器中删除时间:
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 选择器和
[.hour, .minute, .second] 中获取
来自时间 选择器[.year, .month, .day]
组件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)
关于swift - 剥离时间关闭日期选择器和日期关闭时间选择器 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45078896/