比较两个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 ...
随机推荐
- spring+ibatis整合
一.pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...
- Android开发-mac上使用三星S3做真机调试
之前一直未使用真机进行Android开发,为准备明天的培训,拿出淘汰下来的s3准备环境,竟然发现无法连接mac,度娘一番找到答案,如下:mac 系统开发android,真机调试解决方案(无数的坑之后吐 ...
- 关于android.view.WindowManager$BadTokenException问题出现以及解决的一些记录
1.出现 在app showdialog()时偶尔会出现,根据stackoverflow.com的描述,貌似是show的时候用作context的activity以及destroy了,,,一些异步操作会 ...
- 用 pyvenv 创建几个不相互影响的python虚拟环境
IN MY UBUNTU python2的环境控制: sudo apt-get install virtualenv 创建: virtualenv --no-site-packages [环境搭建目 ...
- 一些不错的学习资料(node)
Node.js的api中文文档 http://expressjs.jser.us/ 关于Node.js的一系列不错的学习文章 http://blog.fens.me/ express框架的使用 htt ...
- linux查看父子进程
python多进程代码 http://blog.csdn.net/yfkiss/article/details/6729364 Linux下多线程查看工具(pstree.ps.pstack) tes ...
- Hibernate配置文档详解
Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...
- Func<T>、Action<T> 的区别于说明
一.Func Func是一个.Net内置的委托. Func<Result>,Func<T1,Result>是一个.Net内置的泛型委托. Func<TResult> ...
- CSS3 动画实现 animation 和 transition 比较
在 CSS3 中有两种方式实现动画, 分别是 animation 和 transition, 他们都有以下功能 根据特定 CSS 属性进行动画 设定属性变化的 timing function 设定动画 ...
- 【MySQL】pt-query-digest数据处理并关联业务
参考:www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.htm 通过pt-query-digest将慢日志导入数据库后在表global_q ...