我正在尝试使用日期格式化程序类转换日期,但是从viewDidLoad方法或viewWillAppear调用日期时,该值显示为nil。问题是如果我在静态函数内执行一个断点,它将返回值,但该值未达到我的viewDidLoad并将当前日期设置为nil。以下是代码片段:
静态功能
static func formatDateAsPerLocalDevice(inputDate:Date) -> Date!{
let dateFormatter = DateFormatter()
dateFormatter.calendar = Calendar.current
dateFormatter.timeZone = TimeZone.current
dateFormatter.dateFormat = "yyyy-MM-dd"
let stringDate = dateFormatter.string(from: inputDate)
let convertedDate = dateFormatter.date(from: stringDate)!
return convertedDate
}
查看载重片段
let currentDate = AppCommons.formatDateAsPerLocalDevice(inputDate: Date())
tkCalendarState?.currentDate = currentDate
tkCalendarState?.selectedDate = currentDate
您似乎将日期转换为字符串,然后又转换回日期?我能想到的唯一原因是删除时间部分并获得日期/时间的开始。在这种情况下,这要容易得多:
let midnight = Calendar.current.startOfDay(for: Date())
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句