在swift中从日期选择器获取日期

时间:2015-10-31 07:24:03

标签: ios swift

我为日期选择器创建了IBOutlet

@IBOutlet weak var logDate: UIDatePicker!

我还将此日期选择器的mode设置为date

我有办法提取用户输入日期选择器的日期吗?

我尝试使用print(logdate),但它也提供了日期和时间。像这样2015-10-30 07:10:03 +0000

4 个答案:

答案 0 :(得分:4)

也许你想要这个:

let components = logDate.calendar.components([.Era, .Year, .Month, .Day],
    fromDate: logDate.date)
print("\(components.era) \(components.year) \(components.month) \(components.day)")

// Output: 1 2015 10 31

或许你想要这个:

let formatter = NSDateFormatter()
formatter.calendar = logDate.calendar
formatter.dateStyle = .MediumStyle
formatter.timeStyle = .NoStyle
let dateString = formatter.stringFromDate(logDate.date)
print(dateString)

// Output: Oct 31, 2015

您可以尝试其他dateStyle设置,或通过设置dateFormat属性更明确。 The dateFormat syntax can get pretty hairy.请记住,对于格式的年份部分,请使用yyyy YYYY。但是月份部分的MM mm。例如:

formatter.dateFormat = "yyyy-MM-dd"
print(formatter.stringFromDate(logDate.date))

// Output: 2015-10-31

答案 1 :(得分:1)

您可以使用此代码在日期字段中提取用户输入的日期。 注意:此解决方案将输入提取为字符串

    var dateFormatter = NSDateFormatter()

    dateFormatter.dateStyle = NSDateFormatterStyle.ShortStyle   // You can also use Long, Medium and No style.
    dateFormatter.timeStyle = NSDateFormatterStyle.ShortStyle   

    var inputDate = dateFormatter.stringFromDate(*datepicker outlet name*.date)
    print(inputDate)

使用了以下代码的一部分:http://www.ioscreator.com/tutorials/display-date-date-picker-ios8-swift

答案 2 :(得分:1)

快速5

它比看起来更简单。只需创建Date类型的var,然后从datePicker插座中设置其值即可。

setState(() {
   setUpVideo('another_url');
});

现在,您可以使用该变量在类型为Date或类似类型的Core Data属性上插入日期值。

答案 3 :(得分:0)

快速获取小时和分钟5

let comp = datePickerOutlet.calendar.dateComponents([.hour, .minute], from: datePickerOutlet.date)

print(comp.hour!)
print(comp.minute!)