日期间隔,当前是星期几
Posted Da雪山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日期间隔,当前是星期几相关的知识,希望对你有一定的参考价值。
获取未来某一日期是星期几
/**
* 计算2个日期相差天数
* startDate 起始日期
* endDate 截至日期
*/
-(NSInteger)daysFromDate:(NSDate *)startDate toDate:(NSDate *)endDate {
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
// 话说在真机上需要设置区域,才能正确获取本地日期,天朝代码:zh_CN
dateFormatter.locale = [[NSLocale alloc] 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(@"%@",[[NSString alloc] initWithFormat:@"%i天%i小时%i分钟",days,hours,minute]);
// 之所以要 + 1,是因为 此处的days 计算的结果 不包含当天 和 最后一天\
(如星期一 和 星期四,计算机 算的结果就是2天(星期二和星期三),日常算,星期一——星期四相差3天,所以需要+1)\
对于时分 没有进行计算 可以忽略不计
return days + 1;
}
}
// 获取当前是星期几
- (NSInteger)getNowWeekday {
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit |
NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDate *now = [NSDate date];
// 话说在真机上需要设置区域,才能正确获取本地日期,天朝代码:zh_CN
calendar.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
comps = [calendar components:unitFlags fromDate:now];
return [comps weekday];
}
以上是关于日期间隔,当前是星期几的主要内容,如果未能解决你的问题,请参考以下文章
今天是星期天再过一百天是星期几用python选择结构怎么写?
Android工具类 日期工具类 (番外篇) 格式时间 - 分 秒 毫 时间间隔 判断日期前后 星期