得到当前的年,月,周的第一天和最后一天
来源:互联网 发布:ps淘宝图标教程视频 编辑:程序博客网 时间:2024/05/21 20:55
//// EBDate.h// ChargeMoney//// Created by eagle on 15-3-24.// Copyright (c) 2015年 EagleB. All rights reserved.//#import <Foundation/Foundation.h>@interface EBDate : NSObject/** * 得到这个周的第一天和最后一天 */+(NSArray *)getFirstAndLastDayOfThisWeek;/** * 得到这个月的第一天和最后一天 */+(NSArray *)getFirstAndLastDayOfThisMonth;/** * 得到今天的第一天和最后一天 */+(NSArray *)getFirstAndLastDayOfThisYear;@end复制代码复制代码//// EBDate.m// ChargeMoney//// Created by eagle on 15-3-24.// Copyright (c) 2015年 EagleB. All rights reserved.//#import "EBDate.h"@implementation EBDate+(NSArray *)getFirstAndLastDayOfThisWeek{ NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *dateComponents = [calendar components:NSWeekdayCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:[NSDate date]]; NSInteger weekday = [dateComponents weekday]; //第几天(从sunday开始) NSInteger firstDiff,lastDiff; if (weekday == 1) { firstDiff = -6; lastDiff = 0; }else { firstDiff = - weekday + 2; lastDiff = 8 - weekday; } NSInteger day = [dateComponents day]; NSDateComponents *firstComponents = [calendar components:NSWeekdayCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:[NSDate date]]; [firstComponents setDay:day+firstDiff]; NSDate *firstDay = [calendar dateFromComponents:firstComponents]; NSDateComponents *lastComponents = [calendar components:NSWeekdayCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:[NSDate date]]; [lastComponents setDay:day+lastDiff]; NSDate *lastDay = [calendar dateFromComponents:lastComponents]; return [NSArray arrayWithObjects:firstDay,lastDay, nil];}+(NSArray *)getFirstAndLastDayOfThisMonth{ NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *firstDay; [calendar rangeOfUnit:NSMonthCalendarUnit startDate:&firstDay interval:nil forDate:[NSDate date]]; NSDateComponents *lastDateComponents = [calendar components:NSMonthCalendarUnit | NSYearCalendarUnit |NSDayCalendarUnit fromDate:firstDay]; NSUInteger dayNumberOfMonth = [calendar rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[NSDate date]].length; NSInteger day = [lastDateComponents day]; [lastDateComponents setDay:day+dayNumberOfMonth-1]; NSDate *lastDay = [calendar dateFromComponents:lastDateComponents]; return [NSArray arrayWithObjects:firstDay,lastDay, nil];}+(NSArray *)getFirstAndLastDayOfThisYear{ //通过2月天数的改变,来确定全年天数 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setTimeZone:[NSTimeZone systemTimeZone]]; [formatter setDateFormat:@"yyyy"]; NSString *dateStr = [formatter stringFromDate:[NSDate date]]; dateStr = [dateStr stringByAppendingString:@"-02-14"]; [formatter setDateFormat:@"yyyy-MM-dd"]; NSDate *aDayOfFebruary = [formatter dateFromString:dateStr]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *firstDay; [calendar rangeOfUnit:NSYearCalendarUnit startDate:&firstDay interval:nil forDate:[NSDate date]]; NSDateComponents *lastDateComponents = [calendar components:NSMonthCalendarUnit | NSYearCalendarUnit | NSDayCalendarUnit fromDate:firstDay]; NSUInteger dayNumberOfFebruary = [calendar rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:aDayOfFebruary].length; NSInteger day = [lastDateComponents day]; [lastDateComponents setDay:day+337+dayNumberOfFebruary-1]; NSDate *lastDay = [calendar dateFromComponents:lastDateComponents]; return [NSArray arrayWithObjects:firstDay,lastDay, nil];}@end
0 0
- C#分别得到当前月的第一天和最后一天
- 得到当前的年,月,周的第一天和最后一天
- 获取当前月的第一天和最后一天;获取当前周的第一天和最后一天
- java 得到某个月的第一天和最后一天
- Calendar实现得到指定月的第一天和最后一天
- 如何取得当前月的前个月第一天和最后一天
- 获取当前月的第一天和最后一天...
- 获取当前月的第一天和最后一天
- 获取当前月的第一天和最后一天
- 获取当前月的第一天和最后一天
- js获取当前月的第一天和最后一天
- 取得当前月的第一天和最后一天
- ABAP如何获取当前月的第一天和最后一天
- SQLSERVER当前月第一天和最后一天的函数
- java 获取当前月的第一天和最后一天
- js Xdate 获取当前月的第一天和最后一天
- js获取当前月的第一天和最后一天
- 得到当月的第一天和最后一天
- 嵌入式专业名词整理(以后会不断完善)
- Docker入门实战(二)——Docker镜像操作
- poj2115 C Looooops(扩展欧几里得)
- NYOJ 844.又见拦截导弹(动态规划)
- 小记录一下,nmon内存监控要的数据
- 得到当前的年,月,周的第一天和最后一天
- 安装cocoapods遇到的一些坑(ERROR: Error installing cocoapods: activesupport requires Ruby version >= 2.2.2)
- Linux C 读取.ini文件
- Linux进程退出码
- HTML 页面文字 上标 下标
- setShadowLayer(10F, 11F,5F, Color.YELLOW)参数说明
- bmp图像的调色板
- 合伙人制度是梦想、价值观和利益的捆绑
- 前端-调试工具