+(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类型的参数相差的时间差的更多相关文章

  1. mybatis传入两个String类型的参数

    1.项目spring +mybatis +oracle 2.报错信息: [DEBUG] -- :: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debu ...

  2. 比较两个Date类型的数据相差几年

    package com.utils; import java.text.DecimalFormat; import java.text.ParseException; import java.text ...

  3. java动态获取WebService的两种方式(复杂参数类型)

    java动态获取WebService的两种方式(复杂参数类型) 第一种: @Override public OrderSearchListRes searchOrderList(Order_Fligh ...

  4. 接收content-type:multipart/form-data类型的参数

    一.问题描述 最近在写接口程序,该接口需要与其他公司的程序对接.对方发送content-type:multipart/form-data类型的参数,结果通过request.getParameter(p ...

  5. java mybatis 框架下多种类型的参数传入到xml问题

    由于公司要求,最近从.net向java 转,然后过程中遇到各种奇葩问题,特在此随记一番. 场景:一个方法中有两个参数,一个List的集合,一个int 类型的参数,最初我在xml的sql参数,无论定义成 ...

  6. 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针

      您查询的关键词是:c++primer习题15.25 以下是该网页在北京时间 2016年07月15日 02:57:08 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. ...

  7. C# ref_out_params方法的参数_4种类型的参数

    之前学习C#没有做笔记的习惯,因此有些基础上的东西并没有很好地整理起来,虽然这些东西比较常用,因此也没什么影响,但总觉得不整理一下感觉老是有种陌生感.今天特别整理一下C#4种类型的参数. 一.按值传递 ...

  8. 关于ASP.NET中WEBAPI中POST请求中FromBody修饰的string类型的参数服务器端获取不到值FromBody空值的简单解决方法

    其实解决办法很简单,就是POST请求的时候,来自实体的参数,content-type:application/x-www-form-urlencoded情况下,是默认按照键值对来解析的,比如param ...

  9. Django一对一查询,列类型及参数

    一对一查询 表的创建 # 通过 OneToOneField 创建一对一的关系 from django.db import models # Create your models here. class ...

随机推荐

  1. 修改目的端trail文件的最大大小--转载

    本文为原创,转载请注明出处: http://blog.csdn.net/msdnchina/article/details/38346435 修改目的端trail文件的最大大小. 本文产生的背景: 在 ...

  2. OpenGL学习笔记0——安装库

    最近需要做一个基于Zigbee室内无线定位的系统,受到TI公司ZigBee Sensor Monitor软件的启发,打算用OpenGL来做一个3D显示空间内物体位置的程序.学习阶段选择VS2010+O ...

  3. Xilinx DCM 使用---- 输出频率问题

    最近在使用Xilinx FPGA验证项目,使用DCM将50M晶振分频得到20M时钟.但是下载代码到板子上验证,发现板子完全不工作. 然后 测量时钟,发现根本就没有20M时钟.查找资料,以及跟以前项目对 ...

  4. 慕课网-Java入门第一季-7-5 Java 中带参无返回值方法的使用

    public class HelloWorld { public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hell ...

  5. win7远程桌面恢复全屏状态快捷键

    不同的电脑可能有不同的快捷键(有些笔记本电脑甚至没有相应的键值):①台式机:ctrl+alt+break 组合键.②CTRL+ALT+PAGEDOWN 组合键.③有的笔记本没有break键,可以尝试加 ...

  6. IOS 解析crashlog

    1.需要log.crash. dSYM和xcode自带的symbolicatecrash 放到一个文件夹下面 2.终端cd 到文件夹下面 运行命令 export DEVELOPER_DIR=/Appl ...

  7. Android test---JUnit

    JUnit 单元测试 Android的单元测试基础也是比较简单,同样还是测试相加方法是否正确,测试用例还是用1+1?=2来个简单的Android单元测试: 1..打开eclipse,新建一个proje ...

  8. sybase ODBC驱动

    windows64位系统ODBC数据源管理器位置 64位 C:\Windows\System32\odbcad32.exe 32位 C:\Windows\SysWOW64\odbcad32.exe s ...

  9. CString转string

    如题,找了半天... //CString转string USES_CONVERSION; CString temp; temp = _T("kjdsaflkjdlfkj"); ch ...

  10. 16.C语言中数据类型的本质含义是:表示一个内存格子的长度和解析方法。

    数据类型决定长度的含义:我们一个内存地址(0x30000000),本来这个地址只代表1个字节的长度,但是实际上我们可以通过给他一个类型(int),让他有了长度(4),这样这个代表内存地址的数字(0x3 ...