2017-05-08 16 views
0

與此倒計時計時器我可以從當前日期時間計數,但如何從自定義日期時間倒數計時器。我怎樣纔能有一個countDown定時器開始窗體自定義時間在Swift中?

let dateFormatter = DateFormatter() 
let userCalendar = Calendar.current 
let requestedComponent: Set<Calendar.Component> = [.month,.day,.hour,.minute,.second] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(dddd), userInfo: nil, repeats: true) 
    timer.fire() } 

func printTime() 
{ 
    dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss" 
    dateFormatter.calendar = Calendar(identifier: .gregorian) 
    dateFormatter.locale = Locale.current 
    let startTime = Date() 
    let endTime = dateFormatter.date(from: "2017/10/18 14:02:00") 
    let timeDifference = userCalendar.dateComponents(requestedComponent, from: startTime, to: endTime!) 
    lableText.text = "\(timeDifference.month!):\(timeDifference.day!): \(timeDifference.hour!):\(timeDifference.minute!):\(timeDifference.second!)"} 

回答

0

你可以這樣:

let startTime = Date() 

到這樣的事情:

let calendar = NSCalendar.current 
let components = NSDateComponents.init(); 
components.year = year 
components.month = month 
components.day = day 
let startTime = calendar.date(from: components) 

我設置例如年,月,日,您可以設置完整的日期時間帶過。

希望它有幫助!

0

你需要做出改變按以下

var startTime = Date() 

    override func viewDidLoad() { 
      super.viewDidLoad() 
      dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss" 
      dateFormatter.calendar = Calendar(identifier: .gregorian) 
      dateFormatter.locale = Locale.current 
      startTime = Date() 
      let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(printTime), userInfo: nil, repeats: true) 
        timer.fire() 
     } 

    func printTime() { 
      let endTime = dateFormatter.date(from: "2017/10/18 14:02:00") 
      let timeDifference = userCalendar.dateComponents(requestedComponent, from: startTime, to: endTime!) 
      lableText.text = "\(timeDifference.month!):\(timeDifference.day!): \(timeDifference.hour!):\(timeDifference.minute!):\(timeDifference.second!)" 
        } 
相關問題