【问题标题】:Time coming in NSDate format时间以 NSDate 格式出现
【发布时间】:2017-09-18 12:54:13
【问题描述】:

我将ActionSheetDatePicker 用于时间选择器,我将选择器中的模式更改为UIDatePickerModeCountDownTimer 以获取小时和分钟。它可以很好地显示小时和分钟,但是当我得到小时和分钟时,它会返回给我NSDate init。 前任。我选择了 5 分钟给我 300,所以我得到了。 这是代码:

    ActionSheetDatePicker *datePicker = [[ActionSheetDatePicker alloc] initWithTitle:@"Select a time" datePickerMode:UIDatePickerModeCountDownTimer selectedDate:self.selectedTime target:self action:@selector(ExtrTravelTimeWasSelected:element:) origin:sender];
    datePicker.minuteInterval = minuteInterval;
    [datePicker showActionSheetPicker];

和委托

- (void)ExtrTravelTimeWasSelected:(NSDate *)selectedTime element:(id)element {
    self.selectedTime = selectedTime;
}

那么有什么方法可以将 300(NSDate) 转换为 Hr 和 Min 吗?

【问题讨论】:

  • 使用 NSDateComponents。
  • 我是怎么知道的?
  • 能否分享一下所选时间的日志

标签: ios objective-c iphone uipickerview


【解决方案1】:

如果我理解正确,您将在几秒钟内获得价值。尝试以下方法:

-(NSString *)getTimeStringFromSeconds:(double)seconds
{
  NSDateComponentsFormatter *dcFormatter = [[NSDateComponentsFormatter alloc] init];
  dcFormatter.zeroFormattingBehavior = NSDateComponentsFormatterZeroFormattingBehaviorPad;
  dcFormatter.allowedUnits = NSCalendarUnitHour | NSCalendarUnitMinute;
  dcFormatter.unitsStyle = 
  NSDateComponentsFormatterUnitsStylePositional;
 return [dcFormatter stringFromTimeInterval:seconds];
}

【讨论】:

  • 但我得到了 NSDate。我如何通过双倍?
  • 在查看了他们的 github 之后,我看到了这个评论。 //selectedDate 是“UIDatePickerModeCountDownTimer”的 NSDate 或 NSNumber 所以在你的情况下它返回一个 NSNumber。您可以在其上使用双精度值
【解决方案2】:

试试这个,我已经更新了你的代码,

- (void)ExtrTravelTimeWasSelected:(NSDate *)selectedTime element:(id)element {
    self.selectedTime = selectedTime;
   // Split up the date components
   NSDateComponents *time = [[NSCalendar currentCalendar]
                          components:NSCalendarUnitHour | NSCalendarUnitMinute
                          fromDate:selectedTime];
   NSLog(@"h:mm::%zd:%2zd",[time hour],[time minute]);

}

【讨论】:

    猜你喜欢
    • 2014-04-17
    • 2012-06-03
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多