当我要将事件从app设置为设备日历时。我错了。
从日期选择器获取日期并将其作为nsdate类型存储为startdate和end date。下面是我的日期选择方法
func pickerDate()
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd"
routineStartDate = dateFormatter.string(from: self.startDatePicker.date)
// it is for database entry in string and i get right string
print(routineStartDate)
startDate = self.startDatePicker.date as NSDate
print(startDate)
endDate = startDate
}
下面的方法是开始时间,我得到时间并转换为时间间隔并将其设置为开始日期。
func starttime() {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
let then: Date? = self.startTimePicker.date
let difference: TimeInterval? = then?.timeIntervalSinceNow
startDate.addingTimeInterval(difference!)
routineStartTime = dateFormatter.string(from: self.startTimePicker.date)
// it is for database entry in string and i get right string
print(routineStartTime)
}
下面的方法是结束时间,我从选择器获取时间并转换为时间间隔并将时间间隔设置为enddate
func endtime() {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
routineEndTime = dateFormatter.string(from: self.endTimePicker.date)
print(routineEndTime)
// it is for database entry in string and i get right string
let then: Date? = self.endTimePicker.date
let difference: TimeInterval? = then?.timeIntervalSinceNow
endDate.addingTimeInterval(difference!)
}
下面是我创建事件的My EKEvent方法。
existevent.title = tempDescription
existevent.startDate = startDate as Date
existevent.endDate = endDate as Date
existevent.isAllDay = false
existevent.notes = "This is a note"
existevent.calendar = cal
当我在日历中检查事件时遇到问题,我在事件中得错了。我设置开始时间下午12:50 结束时间下午1:50 2017年6月27日在caledar应用程序中。日期设置完美,但为什么时间不完美?日历应用程序的下方图像。
我怀疑转换时间间隔和设置日期。但我错过了什么不知道。 请建议我解决方案和想法。
谢谢
答案 0 :(得分:1)
您需要将时间转换为所需的时区。因为现在日期在您的时区中正确设置,但显示在+0000 Screenshot中。使用日历表示日期this
在这两种方法中改变你的代码:
.my-website {
@import("header.scss");
@import("main.scss");
@import("footer.scss");
}
到
.my-website
和
startDate.addingTimeInterval(difference!)
到
self.startDate = startDate.addingTimeInterval(difference!)
在您的情况下Xcode警告“调用'addingTimeInterval'的结果未使用”
尝试转换日期,然后将其设置为“existevent”,或者在显示时
endDate.addingTimeInterval(difference!)