iOS开发 根据某个日期计算是星期几
来源:互联网 发布:淘宝amp服务商 编辑:程序博客网 时间:2024/04/29 15:42
// 附注:直接复制粘贴代码即可
#pragma mark -获取周几
/**
* 获取未来某个日期是星期几
* 注意:featureDate传递过来的格式 必须 和 formatter.dateFormat一致,否则endDate可能为nil
*
*/
- (NSString *)featureWeekdayWithDate:(NSString *)featureDate{
// 创建 格式 对象
NSDateFormatter *formatter = [[NSDateFormatteralloc] init];
// 设置日期 格式可以根据自己的需求 随时调整,否则计算的结果可能为 nil
formatter.dateFormat = @"yyyy-MM-dd";
// 将字符串日期 转换为 NSDate类型
NSDate *endDate = [formatter dateFromString:featureDate];
// 判断当前日期和 未来某个时刻日期相差的天数
long days = [selfdaysFromDate:[NSDatedate] toDate:endDate];
// 将总天数换算为 以周 计算(假如相差10天,其实就是等于相差 1周零3天,只需要取3天,更加方便计算)
long day = days >= 7 ? days % 7 : days;
long week = [selfgetNowWeekday] + day;
switch (week) {
case 1:
return @"星期天";
break;
case 2:
return @"星期一";
break;
case 3:
return @"星期二";
break;
case 4:
return @"星期三";
break;
case 5:
return @"星期四";
break;
case 6:
return @"星期五";
break;
case 7:
return @"星期六";
break;
default:
break;
}
return nil;
}
/**
* 计算2个日期相差天数
* startDate 起始日期
* endDate 截至日期
*/
-(NSInteger)daysFromDate:(NSDate *)startDate toDate:(NSDate *)endDate {
NSDateFormatter *dateFormatter=[[NSDateFormatteralloc] init];
// 话说在真机上需要设置区域,才能正确获取本地日期,天朝代码:zh_CN
dateFormatter.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"zh_CN"];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//得到相差秒数
NSTimeInterval time = [endDate timeIntervalSinceDate:startDate];
int days = ((int)time)/(3600*24);
int hours = ((int)time)%(3600*24)/3600;
int minute = ((int)time)%(3600*24)/3600/60;
if (days <= 0 && hours <=0&&minute<= 0) {
NSLog(@"0天0小时0分钟");
return 0;
}
else {
NSLog(@"%@",[[NSStringalloc] initWithFormat:@"%i天%i小时%i分钟",days,hours,minute]);
// 之所以要 + 1,是因为此处的days 计算的结果不包含当天 和最后一天\
(如星期一和 星期四,计算机算的结果就是2天(星期二和星期三),日常算,星期一——星期四相差3天,所以需要+1)\
对于时分没有进行计算 可以忽略不计
return days + 1;
}
}
// 获取当前是星期几
- (NSInteger)getNowWeekday {
NSCalendar *calendar = [[NSCalendaralloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *comps = [[NSDateComponentsalloc] init];
NSInteger unitFlags =NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitDay | NSCalendarUnitWeekday |
NSCalendarUnitHour |NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDate *now = [NSDatedate];
// 话说在真机上需要设置区域,才能正确获取本地日期,天朝代码:zh_CN
calendar.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"zh_CN"];
comps = [calendar components:unitFlags fromDate:now];
return [comps weekday];
}
- IOS开发 根据某个日期计算是星期几
- iOS开发 根据某个日期计算是星期几
- iOS开发 根据某个日期计算是星期几
- iOS开发 根据日期计算是星期几
- iOS开发 根据日期计算是星期几
- 根据日期计算是星期几
- iOS根据当前日期计算星期几
- iOS根据当前日期计算星期几
- ASP.NET中根据某个日期计算当天是星期几
- mysql中根据某个给定日期计算那天是星期几的方法
- 根据日期计算星期几
- 根据日期计算星期几
- 快速计算某个日期是星期几的经验公式
- 快速计算某个日期是星期几的经验公式
- 快速计算某个日期是星期几的经验公式
- 快速计算某个日期是星期几的经验公式
- 如何根据日期实现计算当日是星期几
- c++ 计算某个日期是星期几,判断某年某月一号是星期几
- ubuntu12.04 + ROS(Hydro)使用RVIZ出错
- Chrome开发者工具不完全指南(二、进阶篇)
- POJ3067 树状数组 情景转化为区间求和
- ViewController的生命周期分析和使用
- ORMLite数据库框架的简单使用
- iOS开发 根据某个日期计算是星期几
- 剑指offer 面试题(数值的整数次方)(5)
- 退学,离家出走,卖房创业,在他即将烧完最后一笔钱时,获250万元融资
- Chrome开发者工具不完全指南:(三、性能篇)
- FACL额外访问控制权限
- Unity3D中脚本的执行顺序和编译顺序
- Perl中对数组进行操作的操作符
- nutch系列1——nutch简单介绍
- sql 语句大全