如何获得MONTH的第一个日期,以及传入日期的第一个YEAR日期。在iPhone目标c

时间:2013-01-11 07:23:02

标签: iphone objective-c nsdate nscalendar nsdatecomponents

  

可能重复:
  How to get all the days/dates in current week, this month, this year using the current date (today) in iPhone

我需要获得月份的第一天,即日期的第一天

(大多数时候输入日期是当前日期[NSDate date]

你能否建议如何获得它,

E.G。 今天的当前日期 = 3-MAY-2015

需要输出如下:

First_Date_month = 1-MAY-2015

First_Date_year = 1-JAN-2015

提前感谢您的时间

1 个答案:

答案 0 :(得分:3)

您可以使用NSDateComponents找到日期和年份,并可以根据需要制作NSDate

NSDateComponents *components = [calendar components:units fromDate:[NSDate date]];
[components setDay:1];
self.currentDate = [calendar dateFromComponents:components];
int m = components.month;
int y = components.year;
int d = components.day;


NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy MM dd"];
NSDate *firstDateOfMonth = [df dateFromString:[NSString stringWithFormat:@"%@ %@ 01",y,m]];
NSDate *firstDateOfYear = [df dateFromString:[NSString stringWithFormat:@"%@ 01 01",y]];