我是iOS Dev的新手并且学习用户输入/输出.当用户被要求输入出生日期以查明用户活着多久时,我无法弄清楚如何显示mm/dd/yyyy的正确输出.
NSDate *actualDate = [[NSDate alloc]init];
NSDateComponents *comps = [[NSDateComponents alloc]init];
double getDays = [self.dayTextField.text doubleValue];
double getMonths = [self.monthTextField.text doubleValue];
double getYears = [self.yearTextField.text doubleValue];
NSCalendar *g = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *dateOfBirth = [g dateFromComponents:comps];
double secondsSinceEarlierDate = [actualDate timeIntervalSinceDate:dateOfBirth];
double minutes = secondsSinceEarlierDate/60;
double hours = minutes/60;
double weeks = days/7;
//Can not figure out these...
double days = hours/24;
double months = weeks * 0.229984378;
double years = months/12;
self.showMonthsLabel.text = [@(months) stringValye];
self.showDaysLabel.text = [@(days) stringValye];
self.showYearsLabel.text = [@(years) stringValye];
Run Code Online (Sandbox Code Playgroud)
int day = [self.dayTextField.text intValue];
int month = [self.monthTextField.text intValue];
int year = [self.yearTextField.text intValue];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *birthDateComponents = [[NSDateComponents alloc]init];
[birthDateComponents setDay:day];
[birthDateComponents setMonth:month];
[birthDateComponents setYear:year];
NSDate *birthDate = [calendar dateFromComponents:birthDateComponents];
NSDateComponents *intervalComponents = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
fromDate:birthDate
toDate:[NSDate date]
options:0];
NSLog(@"Alive for: %li days, %li months, %li years", (long)intervalComponents.day, (long)intervalComponents.month, (long)intervalComponents.year);
Run Code Online (Sandbox Code Playgroud)
输出:
Alive for: XX days, XX months, XX years
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |