简体   繁体   English

时间以NSDate格式出现

[英]Time coming in NSDate format

I'm using ActionSheetDatePicker for time picker i change mode in picker as UIDatePickerModeCountDownTimer to take Hours and Minutes. 我将ActionSheetDatePicker用于时间选择器,我将选择器中的模式更改为UIDatePickerModeCountDownTimer以花费小时和分钟。 It works well displayed Hours and min but when i getting Hrs and Min it return me NSDate init. 它可以很好地显示小时和分钟,但是当我得到小时和分钟时,它将NSDate初始化返回我。 Ex. 例如 I selected 5 min to return me 300, so i get. 我选择5分钟使我归还300,所以我得到了。 Here is code : 这是代码:

    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];

and delegate 并委托

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

So Is there any way to convert 300( NSDate ) to Hr and Min ? 那么,有什么办法可以将300( NSDate )转换为Hr和Min?

If I'm understanding correctly you're getting the value in seconds. 如果我正确理解,您将在几秒钟内获得价值。 try the following: 尝试以下方法:

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

Try this, I have updated your code, 试试吧,我已经更新了您的代码,

- (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]);

}

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

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