格式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...