使用 NSCalendar 检索该月的第一天
我执行以下代码片段:
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comp = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
[comp setDay:1];
NSDate *firstDayOfMonthDate = [gregorian dateFromComponents:comp];
firstDayOfMonthDate 的值是 = 30-4-2011 但例外是 1-5-2011 即我想要任何指定日期的月份的第一个日期。 但它给了我上个月的最后一个日期。
提前致谢。
I execute following snippet of code:
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comp = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
[comp setDay:1];
NSDate *firstDayOfMonthDate = [gregorian dateFromComponents:comp];
The Value of firstDayOfMonthDate is = 30-4-2011 but excpeted is 1-5-2011 i.e I want first date of month of any specified date.
But it gives me the last date of the previous month.
thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
添加
初始化 NSCalendar 后
。
[NSDate date]
将返回 UTC 时区的日期,以及自 2001 年 1 月 1 日 00:00 GMT 以来的绝对间隔,但 NSCalendar 的时区设置为默认时区,可能不是 UTC 。UTC 与 UTC “相同”,引用自维基百科:
Add
after initializing your NSCalendar.
[NSDate date]
will return a date in the UTC timezone, well an absolute interval since January 1, 2001 00:00 GMT, but the NSCalendar has its timeZone set to the default timezone which may not be UTC.UTC is the "same" as UTC, a quote from wikipedia: