我在尝试将fajerTime
转换为NSDate
。当我编译项目dateValue
是nil
。任何想法如何解决这个问题?如何将字符串转换为NSdate?
if prayerCommingFromAdan.id == 0 && prayerCommingFromAdan.ringToneId != 0{
// NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(YourClassName.methodOfReceivedNotification(_:)), name:"NotificationIdentifier", object: nil)
let fajerTime = "\(prayer0.time[0...1]):\(prayer0.time[3...4])" as String
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
dateFormatter.timeZone = NSTimeZone.localTimeZone()
// convert string into date
let dateValue = dateFormatter.dateFromString(fajerTime) as NSDate!
print(dateValue)
var dateComparisionResult:NSComparisonResult = NSDate().compare(dateValue)
if dateComparisionResult == NSComparisonResult.OrderedDescending {
addNotificationAlarm(year, month: month, day: day, hour: prayer0.time[0...1], minutes: prayer0.time[3...4], soundId: prayerCommingFromAdan.ringToneId, notificationBody: "It is al fajr adan")
}
的可能的复制[如何字符串转换为NSDate的在iphone?(http://stackoverflow.com/questions/6288371/how-to-convert-string-to-nsdate-in-iphone ) –
显示'fajerTime'的内容 – Arsen
问题可能是'fajerTime'的格式。看起来'fajerTime'是一个时间字符串,例如'12:34',而日期格式化器被配置为接受包含月份,日期和年份的字符串,例如, '24-07-2016'。您需要根据“MM-dd-yyyy”格式格式化“fajerTime”,或者配置日期格式化程序以接受一段时间,例如, 'dateFormatter.dateFormat =“hh:mm”'。 –