ios获取当月第一天和最后一天
2017-08-05 20:12
183 查看
/获取日期
NSArray * arrWeek=[NSArray arrayWithObjects:@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六",
nil];
NSDate *date = [NSDate date];
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
NSInteger unitFlags = NSYearCalendarUnit |
NSMonthCalendarUnit |
NSDayCalendarUnit |
NSWeekdayCalendarUnit |
NSHourCalendarUnit |
NSMinuteCalendarUnit |
NSSecondCalendarUnit;
comps = [calendar components:unitFlags fromDate:date];
int week = [comps weekday];
int year=[comps year];
int month = [comps month];
int day = [comps day];
m_labDate.text=[NSString stringWithFormat:@"%d年%d月",year,month];
m_labToday.text=[NSString stringWithFormat:@"%d",day];
m_labWeek.text=[NSString stringWithFormat:@"%@",[arrWeek objectAtIndex:week]];
//当前时间
NSDate *dateNow = [NSDate
date];
//转换当前时间的格式为 XXXX-XX-XX
NSDateFormatter *formatter = [[NSDateFormatter
alloc]
init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSString *dateStr = [formatter
stringFromDate:dateNow];
[self getMonthBeginAndEndWith:dateStr];
- (NSString *)getMonthBeginAndEndWith:(NSString *)dateStr{
NSDateFormatter *format=[[NSDateFormatter
alloc]
init];
[format setDateFormat:@"yyyy-MM-dd"];
NSDate *newDate=[format
dateFromString:dateStr];
double interval =
0;
NSDate *beginDate = nil;
NSDate *endDate = nil;
NSCalendar *calendar = [NSCalendar
currentCalendar];
[calendar setFirstWeekday:2];//设定周一为周首日
BOOL ok = [calendar
rangeOfUnit:NSMonthCalendarUnit
startDate:&beginDate
interval:&interval forDate:newDate];
//分别修改为 NSDayCalendarUnit NSWeekCalendarUnit NSYearCalendarUnit
if (ok) {
endDate = [beginDate dateByAddingTimeInterval:interval-1];
}else {
return @"";
}
NSDateFormatter *myDateFormatter = [[NSDateFormatter
alloc] init];
[myDateFormatter setDateFormat:@"YYYY-MM-dd"];
strStateTime = [myDateFormatter
stringFromDate:beginDate];
strEndTime = [myDateFormatter
stringFromDate:endDate];
NSString *s = [NSString stringWithFormat:@"%@-%@",beginString,endString];
return s;
}
NSArray * arrWeek=[NSArray arrayWithObjects:@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六",
nil];
NSDate *date = [NSDate date];
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
NSInteger unitFlags = NSYearCalendarUnit |
NSMonthCalendarUnit |
NSDayCalendarUnit |
NSWeekdayCalendarUnit |
NSHourCalendarUnit |
NSMinuteCalendarUnit |
NSSecondCalendarUnit;
comps = [calendar components:unitFlags fromDate:date];
int week = [comps weekday];
int year=[comps year];
int month = [comps month];
int day = [comps day];
m_labDate.text=[NSString stringWithFormat:@"%d年%d月",year,month];
m_labToday.text=[NSString stringWithFormat:@"%d",day];
m_labWeek.text=[NSString stringWithFormat:@"%@",[arrWeek objectAtIndex:week]];
//当前时间
NSDate *dateNow = [NSDate
date];
//转换当前时间的格式为 XXXX-XX-XX
NSDateFormatter *formatter = [[NSDateFormatter
alloc]
init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSString *dateStr = [formatter
stringFromDate:dateNow];
[self getMonthBeginAndEndWith:dateStr];
- (NSString *)getMonthBeginAndEndWith:(NSString *)dateStr{
NSDateFormatter *format=[[NSDateFormatter
alloc]
init];
[format setDateFormat:@"yyyy-MM-dd"];
NSDate *newDate=[format
dateFromString:dateStr];
double interval =
0;
NSDate *beginDate = nil;
NSDate *endDate = nil;
NSCalendar *calendar = [NSCalendar
currentCalendar];
[calendar setFirstWeekday:2];//设定周一为周首日
BOOL ok = [calendar
rangeOfUnit:NSMonthCalendarUnit
startDate:&beginDate
interval:&interval forDate:newDate];
//分别修改为 NSDayCalendarUnit NSWeekCalendarUnit NSYearCalendarUnit
if (ok) {
endDate = [beginDate dateByAddingTimeInterval:interval-1];
}else {
return @"";
}
NSDateFormatter *myDateFormatter = [[NSDateFormatter
alloc] init];
[myDateFormatter setDateFormat:@"YYYY-MM-dd"];
strStateTime = [myDateFormatter
stringFromDate:beginDate];
strEndTime = [myDateFormatter
stringFromDate:endDate];
NSString *s = [NSString stringWithFormat:@"%@-%@",beginString,endString];
return s;
}
相关文章推荐
- java 获取当前年份、月份、日期,当月第一天和最后一天
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- SQL Server获取当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期
- java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
- java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- js获取当月第一天和最后一天
- java 计算两个时间相差几天,获取某天当月的第一天,最后一天
- C#获取时间(当月的第一天和最后一天)
- Java日期循环,Java获取当月的第一天和最后一天
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- asp.net 获取当月的第一天和最后一天
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- java获取当月的第一天和最后一天
- C#获取当月第一天和最后一天
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法