ios日期选择器显示月份编号而不是名称

时间:2015-10-01 10:36:26

标签: ios xcode datepicker uidatepicker

默认情况下,日期选择器显示为2014年1月1日。

用户可以选择

1 - 1 - 2014?

如何?谢谢!

4 个答案:

答案 0 :(得分:4)

您无法将日期选择器更改为该格式。 Apple为您提供以下日期选择器模式,每种模式都有自己的格式:

  

UIDatePickerModeTime

     

日期选择器显示小时,分钟和(可选)AM / PM指定。显示的确切项目及其顺序取决于区域设置。这种模式的一个例子是[6 | 53 | PM]。

     

UIDatePickerModeDate

     

日期选择器显示月份,月份和年份。确切的顺序   这些项目取决于区域设置。这种模式的一个例子是   [十一月| 15 | 2007]。

     

UIDatePickerModeDateAndTime

     

日期选择器显示日期(作为星期几,月份和日期的统一日期)   月份值)加上小时,分钟和(可选)AM / PM   指定。这些项目的确切顺序和格式取决于   区域设置。这种模式的一个例子是[Wed Nov 15 | 6 | 53 | PM]。

     

UIDatePickerModeCountDownTimer

     

日期选择器显示小时和分钟值,例如[1 | 53]。   应用程序必须将计时器设置为以适当的间隔启动   将日期选择器设置为秒数滴答。

如果您想要任何其他格式,您必须实现自己的datePicker。

答案 1 :(得分:1)

@Luis是对的,如果你想要数月你可以得到。下面的代码不会改变UIDatePicker显示月份的方式。但会更改您选择的月份数量。你可以选择2014年1 - 1 - 。

NSDateFormatter *date = [[NSDateFormatter alloc]init];
    [date setDateFormat:@"dd-M-YYYY"];

    YourDatepicker.datePickerMode = UIDatePickerModeDate;
    NSString *date1 = [date stringFromDate:YourDatepicker.date];

date1将为您提供1 - 1 - 2014年。

答案 2 :(得分:0)

 func datePickerValueChanged(sender:UIDatePicker) {

    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "dd-MMM-yyyy"
    let dateString = dateFormatter.stringFromDate(sender.date)
    departureDateTextField.text = dateString

}

答案 3 :(得分:-1)

使用日期格式化程序格式化日期。

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "d-M-yyyy"
dateFormatter.string(from: Date())   // "26-2-2017" (current date)