【问题标题】:My Date picker is returning the wrong value for minutes and Seconds我的日期选择器返回错误的分钟和秒值
【发布时间】:2013-04-03 10:32:17
【问题描述】:

我的日期选择器返回的分钟和秒值错误,但小时可以正常工作。这是我的获取方法。

-(NSDate *)datePickerTime
{
NSCalendar *gregorianCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
[gregorianCalendar setTimeZone:[NSTimeZone localTimeZone]];
NSDateFormatter *format = [[NSDateFormatter alloc]init];
[format setDateFormat:@"HH:mm:ss"];
[format setTimeZone:[NSTimeZone localTimeZone]];
NSString *dateString =[format stringFromDate:[self.timePicker date]];
NSDate *adjustedDate = [format dateFromString:dateString];
NSDateComponents *comp = [[NSDateComponents alloc]init];

comp = [gregorianCalendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:adjustedDate];

reminderTime = [gregorianCalendar dateFromComponents:comp];

return reminderTime;
}

【问题讨论】:

  • U r 代码不清楚。让我们清楚地知道你的要求..
  • 值有什么问题?
  • 小时值正确但分钟值错误

标签: ios objective-c datepicker nsdate nsdateformatter


【解决方案1】:

请检查具有所有类型格式支持的日期选择器的最佳Apple sample code

您的问题可能出在setDateFormat ISO-8601

试试这个代码

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"hh:mm:ss a"];

NSLog(@"Current Date: %@", [formatter stringFromDate:[NSDate date]]);

[formatter release];

【讨论】:

  • 我不在当前日期之后,我需要日期选择器中的日期。即该人选择的日期。我的代码返回正确的小时值,但不是正确的分钟值。有什么帮助吗?
【解决方案2】:

在我的应用程序中,我通过以下方式获得正确的时间

NSDate *endDate = [NSDate date];
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
[dateFormatter2 setDateFormat:@"HH:mm:ss"];
NSString* curdatestr = [dateFormatter2 stringFromDate:endDate];
NSLog(@"str%@",curdatestr);

如果您还想使用当前时间的日期

[dateFormatter2 setDateFormat:@"yyyy-MM-dd 'at' HH:mm:ss"]; 

【讨论】:

  • 我不在当前日期之后,我需要日期选择器中的日期。即该人选择的日期。我的代码返回正确的小时值,但不是正确的分钟值。有什么帮助吗?
猜你喜欢
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多