【问题标题】:Specific initial date/time when loading DatePicker加载 DatePicker 时的特定初始日期/时间
【发布时间】:2014-06-12 16:37:38
【问题描述】:

我正在为我的程序使用 DatePicker,并且很好奇我是否可以设置一个特定的初始日期/时间来显示 DatePicker 何时打开。我想知道是否可以将初始日期设置为当前年份、月份日期。但对于时间部分,从早上 8 点开始。

startTimeDateFormatter = [[NSDateFormatter alloc] init];
[startTimeDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
startTimeTextField.text = [startTimeDateFormatter stringFromDate:[NSDate date]];

我需要时间显示为(例如:2014-06-12 08:00:00)。

谢谢

【问题讨论】:

  • 你能在你的 ViewController 中包含 DatePicker 声明吗?
  • @VineetBhatia 为什么?问题是关于创建具有特定时间的NSDate
  • 不需要。问题解决了。请参阅 Stonz 的回答。
  • 您的问题标题似乎表明初始化 UIDatePicker 存在问题

标签: ios objective-c nsdateformatter uidatepicker


【解决方案1】:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comps = [calendar components: NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]];
[comps setHour:8];
[comps setMinute:0];
[comps setSecond:0];

NSDate *dateFromComps = [calendar dateFromComponents:comps]; // current date/month/year set to 8:00am

startTimeDateFormatter = [[NSDateFormatter alloc] init];
[startTimeDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
startTimeTextField.text = [startTimeDateFormatter stringFromDate:dateFromComps];

datePicker.date = dateFromComps;

【讨论】:

    【解决方案2】:

    您可以在您的选择器视图上使用setDate: 方法。

    [_datePicker setDate:[NSDate date]];
    

    【讨论】:

    • 问题是如何将其设置为特定时间,而不是当前日期/时间。
    猜你喜欢
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2021-07-24
    • 1970-01-01
    相关资源
    最近更新 更多