如何在iPhone中获取一年中的日期?

时间:2012-08-01 13:03:28

标签: iphone objective-c ios xcode nsdate

如何从一年中获取日期? 例如,如果我将日期视为“1”,则日期应为“1月1日”

我如何在iPhone中获得该功能?我在javascript中找到了答案,但我想知道如何在Objective中实现相同的功能?

2 个答案:

答案 0 :(得分:2)

我想这段代码对你有用: 我创建了一个示例函数,其中textfield给出了添加天数的输入值。还有一个计算最后一天的按钮。这是按钮事件逻辑。

  NSDateComponents *dateComponent = [[NSDateComponents alloc] init];
  NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  [formatter setDateFormat:@"yyyy-mm-dd"];

  NSDate *newDate =  [formatter dateFromString:@"2012-01-01"];

  // add days to current date
  dateComponent.day = [dayTextField.text intValue];

  // get a new date by adding components
  newDate = [[NSCalendar currentCalendar] dateByAddingComponents: dateComponent toDate:newDate options:0];

  [finalDate setText:[NSString stringWithFormat:@"%@", newDate]];

此处dayTextField.text是表示要计算多少天数的文本。 (例如125天)和finalDate是一个标签,显示最终生成日期(表示自2012年1月1日起125天后的日期)。

此代码的好处是,您可以随时更改开始日参数。例如,对于其他要求,我需要计算我在1999年5月31日和#34;然后我将在一行中轻松更改它,相同的代码将起作用。

享受编码:)

答案 1 :(得分:1)

NSCalendar *gregorian =
   [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger dayOfYear =
   [gregorian ordinalityOfUnit:NSDayCalendarUnit
    inUnit:NSYearCalendarUnit forDate:[NSDate date]];
[gregorian release];
return dayOfYear;

从帖子中取出: How do you calculate the day of the year for a specific date in Objective-C?