比较两个NSDate类型的参数相差的时间差
+(NSInteger)getDaysFrom:(NSDate *)serverDate To:(NSDate *)endDate
{
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[gregorian setFirstWeekday:2];
//去掉时分秒信息
NSDate *fromDate;
NSDate *toDate;
[gregorian rangeOfUnit:NSCalendarUnitDay startDate:&fromDate interval:NULL forDate:serverDate];
[gregorian rangeOfUnit:NSCalendarUnitDay startDate:&toDate interval:NULL forDate:endDate];
NSDateComponents *dayComponents = [gregorian components:NSCalendarUnitDay fromDate:fromDate toDate:toDate options:0];
return dayComponents.day;
}
//比较选择的开始时间和结束时间的大小
+(BOOL)ComparisonString:(NSString *)str1 andString:(NSString *)str2
{
// NSString *dateStr=@"2015-12-31 01:01:01";//传入时间
//1.获得时间
NSDate *senddate = [ NSDate date ];
NSDateFormatter *dateformatter = [[ NSDateFormatter alloc ] init];
[dateformatter setDateFormat : @"yyyy-MM-dd" ];
NSString *locationString = [dateformatter stringFromDate :senddate];
str2 = locationString;
NSArray *arrya1 = [str1 componentsSeparatedByString:@" " ];
str1 = arrya1.firstObject;
arrya1 = [str2 componentsSeparatedByString:@" " ];
str2 = arrya1.firstObject;
NSString *dateStr = [ NSString stringWithFormat:@"%@ 00:00:01",str1];
//传入时间
//将传入时间转化成需要的格式
NSDateFormatter *format = [[ NSDateFormatter alloc ] init];
[ format setDateFormat:@"yyyy-MM-dd HH:mm:ss" ];
NSDate *fromdate = [format dateFromString:dateStr];
NSTimeZone *fromzone = [ NSTimeZone systemTimeZone ];
NSInteger frominterval = [fromzone secondsFromGMTForDate: fromdate];
NSDate *fromDate = [fromdate dateByAddingTimeInterval: frominterval];
NSLog(@"调的时间=%@",fromDate);
NSString *dateStr1 = [ NSString stringWithFormat : @"%@ 23:59:59",str2];
//传入时间
//将传入时间转化成需要的格式
NSDateFormatter *format1 = [[ NSDateFormatter alloc ] init ];
[format1 setDateFormat : @"yyyy-MM-dd HH:mm:ss" ];
NSDate *fromdate1 = [format1 dateFromString : dateStr1];
NSTimeZone *fromzone1 = [ NSTimeZone systemTimeZone ];
NSInteger frominterval1 = [fromzone1 secondsFromGMTForDate : fromdate1];
NSDate *fromDate1 = [fromdate1 dateByAddingTimeInterval : frominterval1];
NSLog(@"调的时间1=%@",fromDate1);
double intervalTime = [fromDate1 timeIntervalSinceReferenceDate ] - [fromDate timeIntervalSinceReferenceDate ];
long lTime = (long)intervalTime;
NSInteger iDays = lTime/60/60/24;
if (iDays <= 0 ) {
return NO;
}else{
return YES;
}
}
//感谢大神的代码,拷贝为了记录
比较两个NSDate类型的参数相差的时间差的更多相关文章
- mybatis传入两个String类型的参数
1.项目spring +mybatis +oracle 2.报错信息: [DEBUG] -- :: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debu ...
- 比较两个Date类型的数据相差几年
package com.utils; import java.text.DecimalFormat; import java.text.ParseException; import java.text ...
- java动态获取WebService的两种方式(复杂参数类型)
java动态获取WebService的两种方式(复杂参数类型) 第一种: @Override public OrderSearchListRes searchOrderList(Order_Fligh ...
- 接收content-type:multipart/form-data类型的参数
一.问题描述 最近在写接口程序,该接口需要与其他公司的程序对接.对方发送content-type:multipart/form-data类型的参数,结果通过request.getParameter(p ...
- java mybatis 框架下多种类型的参数传入到xml问题
由于公司要求,最近从.net向java 转,然后过程中遇到各种奇葩问题,特在此随记一番. 场景:一个方法中有两个参数,一个List的集合,一个int 类型的参数,最初我在xml的sql参数,无论定义成 ...
- 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针
您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. ...
- C# ref_out_params方法的参数_4种类型的参数
之前学习C#没有做笔记的习惯,因此有些基础上的东西并没有很好地整理起来,虽然这些东西比较常用,因此也没什么影响,但总觉得不整理一下感觉老是有种陌生感.今天特别整理一下C#4种类型的参数. 一.按值传递 ...
- 关于ASP.NET中WEBAPI中POST请求中FromBody修饰的string类型的参数服务器端获取不到值FromBody空值的简单解决方法
其实解决办法很简单,就是POST请求的时候,来自实体的参数,content-type:application/x-www-form-urlencoded情况下,是默认按照键值对来解析的,比如param ...
- Django一对一查询,列类型及参数
一对一查询 表的创建 # 通过 OneToOneField 创建一对一的关系 from django.db import models # Create your models here. class ...
随机推荐
- FPGA低级建模---按键去抖动
FPGA低级建模,原则上一个模块一个功能,如按键去抖动建模中,有两个模块. 1.detect_module 这个是按键检测模块,主要检测按键的高低电平变化,现在按键是按下还是释放. 2.delay_m ...
- 下载Tomcat时Tomcat网站上的core和deployer的区别
下载Tomcat时Tomcat网站上的core和deployer的区别 做JavaEE开发的朋友,无论是学习者还是已经工作的朋友,总是会用到Tomcat这个Servlet容器,那么大家从Tomcat官 ...
- mysql数据库字符集的设置
my.ini文件中clinet和mysqld中的写法不一样,要注意 [client] port=3306 default-character-set=utf8 [mysqld] ...
- 【原创】【2015最新】微信公众平台开发手把手入门之一:缘起微信公众号(PHP,MYSQL, BAE)
最近因为业务的需要,老板布置做了两个月简单的的微信公众平台开发,从网上搜了一些资料,实话说资料不多. 在参考学习的过程中也遇到了不少难缠的小问题,虽然不难逾越,但是确实浪费了时间. 我发现网上仅有不多 ...
- IOS 中openGL使用教程2(openGL ES 入门篇 | 绘制一个多边形)
在上一篇我们学习了如何搭建IOS下openGL的开发环境,接下来我们来学习如何绘制一个多边形. 在2.0之前,es的渲染采用的是固定管线,何为固定管线,就是一套固定的模板流程,局部坐标变换 -> ...
- 在CentOS或RHEL防火墙上开启端口
转载自:https://linux.cn/article-4243-1.html 如果希望在服务器上提供服务,诸如CentOS或RHEL的企业级Linux发行版包含内置的强大防火墙,它们默认的防火墙规 ...
- [转载] 在java中为什么变量1000 = 1000 返回false,但是100=100返回true?
ps:题目的意思是指定义相同内容的不同变量之间的==比较.如果直接比较(100 == 100)的结果是true. 运行以下代码: Integer a = 1000, b = 1000; System. ...
- 这些年正Android - 母亲
记得小时候,在自己写完一篇作文,完成母亲布置的任务后,就会搬走母亲正在使用的大椅子,面朝门前的马路,就这么憧憬的坐着,听着母亲给小孩打针时,小孩哇哇的哭声,努力的幻想着自己以后能做一个顶天立地的男子汉 ...
- What's going on in background?
Did you know that mobile phone manufacturer collect your info without notifying you? Did you know yo ...
- SpringMVC学习笔记(六)
一.SpringMVC文件的上传 1.1.需要导入两个jar包 1.2在SpringMVC配置文件中加入 <!-- upload settings --> <bean id=&quo ...