繁体   English   中英

在UIDatePicker iOS中设置默认的初始时间

[英]Set default initial time in UIDatePicker ios

在我的UIDatePicker中,需要将今天显示为默认日期,但将特定时间显示为默认时间。 默认情况下,它获取当前时间。 如何手动设置?

_datePicker = [[UIDatePicker alloc] initWithFrame:CGRectZero];
[_datePicker setDatePickerMode:UIDatePickerModeDate];
_datePicker.datePickerMode = UIDatePickerModeDateAndTime;

您需要的是没有时间的今天日期,然后在其上手动设置时间以获得所需的日期。 日期组件非常适合:

func getTodayDate(at: (hour: Int, minute: Int)) -> Date {
    let dateComponents = Calendar.autoupdatingCurrent.dateComponents([.year, .month, .day], from: Date())
    dateComponents.hour = at.hour
    dateComponents.minute = at.minute
    return Calendar.autoupdatingCurrent.date(from: dateComponents)
}

目标C

- (NSDate *)getTodayDateAt:(NSInteger)hour minute:(NSInteger)minute {
    NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:[NSDate date]];
    components.hour = hour;
    components.minute = minute;
    return [calendar dateFromComponents:components];
}

现在,将其设置为您的日期选择器:

_datePicker.date = ...

确保您的日期选择器使用相同的日历。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM