Swift 我在UidatePicker和dateFromComponents函数方面遇到问题

Swift 我在UidatePicker和dateFromComponents函数方面遇到问题,swift,datepicker,ios8,Swift,Datepicker,Ios8,我是编程新手,最近开始学习Swift语言。为了测试我的学习能力,我正在尝试制作一款类似“闹钟”的应用程序。起初我以为可以将datepicker.date指定给通知日期,但很快我意识到datepicker没有给出确切的值。我不知道怎么做,但在这个网站上做了大量的研究后,我对如何实现有了一些了解。我开始制作这个应用程序,但现在我遇到了一个问题。我创建了一个日期选择器来设置报警,并使用NSDateFormeter函数从日期中提取字符串。我用这个字符串创建了一个数组,并使用dateFromCompone

我是编程新手,最近开始学习Swift语言。为了测试我的学习能力,我正在尝试制作一款类似“闹钟”的应用程序。起初我以为可以将datepicker.date指定给通知日期,但很快我意识到datepicker没有给出确切的值。我不知道怎么做,但在这个网站上做了大量的研究后,我对如何实现有了一些了解。我开始制作这个应用程序,但现在我遇到了一个问题。我创建了一个日期选择器来设置报警,并使用NSDateFormeter函数从日期中提取字符串。我用这个字符串创建了一个数组,并使用dateFromComponents创建了一个日期。当我尝试打印它们时,数组给出了正确的数字,但在使用它进行日期设置之后,日期会有所不同。请帮我解决这个问题。非常感谢你的帮助

import UIKit
import Foundation

class ViewController: UIViewController {

  var myArray = [String]()
  @IBOutlet weak var mydatePicker: UIDatePicker!
 override func viewDidLoad() {
    super.viewDidLoad()

 }

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


@IBAction func mydatepickerAction(sender: AnyObject) {

   var daFormet = NSDateFormatter()

    //For ex: 2015:01:17:20:05
   daFormet.dateFormat = "YYY:MM:dd:HH:mm"

   //This makes datestring from Datepickersdate
   var dateString:String = daFormet.stringFromDate(mydatePicker.date)

    //Makes an array from the date String
    myArray = dateString.componentsSeparatedByString(":")

}


@IBAction func myButton(sender: AnyObject) {


    println(myArray)

    //Creates a date from  components
    var newMyDate:NSDate = dateFromComponents(myArray[2] .toInt()!, month: myArray[1] .toInt()!, year: myArray[0] .toInt()!, hour: myArray[3] .toInt()!, minute: myArray[0] .toInt()!, second: 00)

    println(newMyDate)
    var date = NSDate()
    println(date)

}

func dateFromComponents(day:Int, month:Int, year:Int, hour:Int, minute:Int, second:Int) -> NSDate {
    var cal = NSCalendar(calendarIdentifier: NSGregorianCalendar)!
    cal.timeZone = NSTimeZone.localTimeZone()
    var comps = NSDateComponents()
    comps.day = day
    comps.year = year
    comps.second = second
    comps.hour = hour
    comps.minute = minute
    comps.month = month
    return cal.dateFromComponents(comps)!
 }

}

您今年使用了错误的格式。您必须使用“y”(小写)而不是“YYY”。

这可能有效,但我想知道为什么我无法从组件中确定正确的日期。