私は自分のアプリケーションでカウントダウンタイマーを開発していますが、なぜ動作していないのかわかりません。カウントダウンタイマー速報
let formatter = NSDateFormatter()
let userCalendar = NSCalendar.currentCalendar()
let requestedComponent: NSCalendarUnit = [
//NSCalendarUnit.Month,
//NSCalendarUnit.Day,
NSCalendarUnit.Hour,
NSCalendarUnit.Minute,
NSCalendarUnit.Second
]
func printTime()
{
formatter.dateFormat = "MM/dd/yy hh:mm:ss a"
//let startTime = NSDate()
let startTime = formatter.dateFromString("05/12/16 0:00:00 a")
let endTime = formatter.dateFromString("12/25/16 8:00:00 a")
let timeDifference = userCalendar.components(requestedComponent, fromDate: startTime!, toDate: endTime!, options: [])
TimeLabel.text = " \(timeDifference.hour)Hours \(timeDifference.minute)Minutes \(timeDifference.second) Seconds"
}
let timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(printTime), userInfo: nil, repeats: true)
timer.fire()
私がままにした場合:
let startTime = NSDate()
、それは完璧に動作しますが、それは現時点では、現在の日付と時刻から始まる
let startTime = formatter.dateFromString("05/12/16 0:00:00 a")
コメント。 私は特定の日付と時刻が必要です。私の場合は「05/12/16 0:00:00 a」です。時刻は、今からではなく、その日時からカウントダウンを開始する必要があります。
'dateFromString'を使用して日付を構成しないでください。日付コンポーネントを使用します。 – matt