0

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

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

4

2 回答 2

2

我想这段代码对你有用:我创建了一个示例函数,其中一个文本字段提供了要添加多少天的输入值。还有一个计算最后一天的按钮。这是按钮事件逻辑。

  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 日”开始计算我的天数,然后我将在一行中轻松更改它,并且相同的代码将起作用。

享受编码:)

于 2012-08-01T13:23:38.663 回答
1
NSCalendar *gregorian =
   [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger dayOfYear =
   [gregorian ordinalityOfUnit:NSDayCalendarUnit
    inUnit:NSYearCalendarUnit forDate:[NSDate date]];
[gregorian release];
return dayOfYear;

摘自帖子: 您如何计算 Objective-C 中特定日期的一年中的哪一天?

于 2012-08-01T13:09:55.607 回答