【发布时间】:2019-11-22 12:38:33
【问题描述】:
我想像下面的代码一样获得完整的日期,
func findDate(date: Date)
{
let format1: DateFormatter = DateFormatter()
format1.dateFormat = "yyyy-MM-dd"
let onlyDate = format1.string(from: date) // Here date is like 2019-11-21
let dateStr = "\(onlyDate) 10:00 AM"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm a"
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.calendar = NSCalendar.current
dateFormatter.timeZone = TimeZone.current
let newDate = dateFormatter.date(from: dateStr)
print(newDate) // It returns nil
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let newDateStrInUTC = dateFormatter.string(from: newDate ?? Date()) // Not proper due to newDate = nil
}
在findDate 函数date 中,参数的日期类似于2019-11-21 18:30:00 +0000。我想在该日期添加我的自定义时间(上午 10:00)。
我从FSCalender 收到了这个日期 (2019-11-21 18:30:00 +0000)。
我想要这样的输出2019-11-21 12:00 PM
【问题讨论】:
-
这能回答你的问题吗? stackoverflow.com/questions/29465205/…
-
你想要这样的输出吗 - 2019-11-21 18:30:00 PM
-
在您的 findDate 函数中 - 为什么要传递 +0000?
-
你还没有理解我的问题。我的问题不在于+0000。 @RipaSaha
标签: ios swift nsdateformatter fscalendar