计算某个日期与当前日期相隔的天数

//返回0
当天,1昨天,2前天,以此类推

//之前那样用时间差来整除一天的秒数,计算出来的天数有误差

+ (int)getDaysFromAnotherDay:(longlong)date {//date是时间戳

//    return [self getDaysFrom1970:date] - [self getDaysFrom1970:[[NSDate date] timeIntervalSince1970]];

NSDateComponents *comps = [[NSDateComponentsalloc]
init];

[compssetDay:[NSDateUtilsgetDay:date]];

[compssetMonth:[NSDateUtilsgetMonth:date]];

[compssetYear:[NSDateUtilsgetYear:date]];

NSCalendar *gregorian = [[NSCalendaralloc]
initWithCalendarIdentifier:NSGregorianCalendar];

NSDate *endDate = [[NSDatealloc]
init];

NSDate *startDate = [gregorian
dateFromComponents:comps];

[compsrelease];

unsignedint unitFlags =NSYearCalendarUnit |
NSMonthCalendarUnit |NSDayCalendarUnit;

NSDateComponents *comps2 = [gregorian
components:unitFlags
fromDate:startDatetoDate:endDate
options:0];

int days = [comps2
day];

return days;

}

+ (int)getYear:(longlong)date {

return [[selfgetNSDateComponents:date]
year];

}

+ (int)getMonth:(longlong)date {

return [[selfgetNSDateComponents:date]
month];

}

+ (int)getDay:(longlong)date {

return [[selfgetNSDateComponents:date]
day];

}

+ (NSDateComponents *)getNSDateComponents:(long
long)date {

NSInteger unitFlags =
NSYearCalendarUnit | NSMonthCalendarUnit |
NSDayCalendarUnit | NSWeekdayCalendarUnit |
NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit;

NSDateComponents *comps = [[self
shareNSCalendar]
components:unitFlags fromDate:[NSDate
dateWithTimeIntervalSince1970:date]];

return comps;

}

时间: 2024-11-05 14:42:01

计算某个日期与当前日期相隔的天数的相关文章

JavaScript计算指定日期与当前日期的相差天数

java中处理2个时间段相差几天很容易,直接调相关方法就行,不过js处理这类问题稍微有点不易,项目开发中也用到了,如下: 1 2 3 4 5 6 7 8 9 10 11 12 //计算两个日期天数差的函数,通用 function dateDiff(sDate2) {     var sDate1=new Date().pattern("yyyy-MM-dd");     sDate2=LEx.util.Format.formatDate(sDate2,"yyyy-MM-dd&

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现. 函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为: TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之

php计算时间差/两个时间日期相隔的天数,时,分,秒.

<?php function timediff( $begin_time, $end_time ) { if ( $begin_time < $end_time ) { $starttime = $begin_time; $endtime = $end_time; } else { $starttime = $end_time; $endtime = $begin_time; } $timediff = $endtime - $starttime; $days = intval( $timed

JS 比较日期相隔都少天&amp;&amp; 比较两个日期大小&amp;&amp;指定日期往前后推指定天数

//这些天常接触到有关于js操作日期事 就小结了一下,希望对你有帮助 function conversionDate(a,b){ var start =a.split('-'); var end = b.split('-'); //转换为date对象 var strDateS = new Date(start[0], start[1], start[2]); var strDateE = new Date(end[0], end[1], end[2]); var differ=parseInt(

用户输入商品生产日期和保质期(天数),通过程序计算促销日期。

* 用户输入商品生产日期和保质期(天数),通过程序计算促销日期. * 计算规则为:到保质期前14天所在周的周三为促销日. /** * 用户输入商品生产日期和保质期(天数),通过程序计算促销日期. * 计算规则为:到保质期前14天所在周的周三为促销日.控制台交互情况如图-1所示 * 思路: * 1. 用户输入生产日期和保质期(天数),就可以求出 过期日期 * 2. 通过过期日期减去14天即为促销日期所在的周 * 3. 通过所在周求出周三的日期 * 算法: * 1.通过用户输入的两个日期,转换生产日

按月、按天计算失效日期的代码实现

按月.按天计算失效日期的代码实现 [背景]:在我们计算截止日期.失效时期的时候,可能存在按年.按月.按天统计失效的情况.比如:当前日期是2014-12-22,900天后失效,失效日期是多少?17个月后失效,失效日期是多少.通过本文源码,你都可以得到答案. 为验证程序的正确性,本文对每个接口函数都做了大量的测试用例. // sn_ctrl.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <assert.h> #incl

用Java计算某个日期100天后的日期

用Java计算日期时间,首先考虑到时间类,Java中提供的和时间日期相关的类里,有一个Calendar类,可以获取某个时间日期. 计算某个日期100天后的日期,思路如下: 1.先设定时间,例如2017年1月1日: 2.在给定日期的天数上增加100: 具体代码如下: 1 /* 2 * 1.先给定一个时间,例如2017年1月1日 3 */ 4 Calendar cld = Calendar.getInstance(); 5 cld.set(Calendar.YEAR, 2017); 6 cld.se

java计算两日期间隔小时或分钟

public static void main(String[] args) {        try {            long min = dateDiff("2014-05-27 13:30:00","2014-05-27 13:00:00","yyyy-MM-dd HH:mm:ss");            System.out.println("---------相隔分钟数: "+min);        

JS实现——计算两日期之差

在网上找了个js实现的,根据相差天数计算日期和根据两个日期计算相差多少天的示例和代码: 根据相差天数计算日期: 距离: 年 月 日 (缺省为今天) 相差: 天 (输入负数则往前计算) 日期是:   根据日期计算相差天数: 开始日期: 年 月 日 结束日期: 年 月 日 相差天数:   实现代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content=&qu