通過日期計算距離當前時間的距離

2021-06-28 05:59:06 字數 1966 閱讀 2274

格式1 通過(2014-12-11 22:22:22) 獲得 今天22:22 ,昨天22:22 , 2天前 , 1個月前 , 3年前

nsstring

*datestr = @"2015-01-15 22:22:22";

nsdateformatter

*dateformat = [[

nsdateformatter

alloc

] init];

[dateformat setdateformat:@"yyyy-mm-dd"];

nsrange

r = [datestr rangeofstring:

@"-"

options:nsbackwardssearch];

// 找出最後乙個

-所在的位置

nsdate *date = [dateformat datefromstring:[datestr substringtoindex:r.location + 3]];

nstimeinterval time = [[nsdate

date] timeintervalsincedate:date]; //

獲取date

距離系統時間的總共秒數

int year = ((int)time / (3600 * 24 * 30 * 12));

int month = ((int)time / (3600 * 24 * 30));

int day = ((int)time / (3600 * 24));

nsstring *datecontent;

if (year != 0) else

if (month != 0) else else

if (day == 1) else

}格式2 通過(2003-22-22 12:22:33) 獲得 剛剛 , 20秒前 , 3分鐘前 , 1小時前 , 2天前 , 1週前 , 5個月前 , 2年前

nsstring

*datestr = @"2015-01-15 12:11:11";

nsdateformatter*dateformat = [[nsdateformatter

alloc

] init];

[dateformat

setdateformat

:@"yyyy-mm-dd hh:mm:ss"];

nsdate *date = [dateformat datefromstring:datestr];

double deltaseconds = fabs([[nsdate

date] timeintervalsincedate:date]); //

獲取總共秒數

double deltaminutes = deltaseconds / 60.0f;

nsstring *datecontent;

if (deltaseconds < 5) else

if (deltaseconds < 120) else

if (deltaminutes < 60) else

if (deltaminutes < 120) else

if (deltaminutes < (24 * 60)) else

if (deltaminutes < (24 * 60 * 2)) else

if (deltaminutes < (24 * 60 * 7)) else

if (deltaminutes < (24 * 60 * 14)) else

if (deltaminutes < (24 * 60 * 31)) else

if (deltaminutes < (24 * 60 * 61)) else

if (deltaminutes < (24 * 60 * 365.25)) else

if (deltaminutes < (24 * 60 * 731)) else

Mysql計算時間距離

1,首先,看看mysql幾個內建時間函式 select now current timestamp current time sysdate 結果如下 2,計算時間差的內建函式timestampdiff timestampdiff interval,datetime expr1,datetime e...

根據出生日期計算距離生日時間

具體使用根據情況大家自己調整,此處僅供參考。根據出生日期計算生日天數 jxcore.birthwarm function value,fieldctl var dd eval new birth.substr 1,birth.length 2 var ar date dd.getmonth 1,dd...

php計算距離現在的時間

1.計算距離現在的時間 傳入時間戳,計算距離現在的時間 param number time 時間戳 return string 返回多少以前 function word time time elseif int 60 elseif int 3600 elseif int 86400 elseif i...