作者lance70176 (十三夜)
看板PHP
标题Re: [请益] 请问连续登录天数要怎麽判断比较合理
时间Thu Jan 13 13:50:21 2011
※ 引述《knives ()》之铭言:
: 我想要做一个记录连续登入的天数的功能
: 比方说某user从星期一到星期四都有进来网站
: 可是星期五那天中断,到了星期六或星期天才进来网站
: 那连续登入的天数就变回 1
: 我在资料库有记录 某user上次进来的网站的时间unix stamp
: 那麽我要怎麽判断这次进来是恰好是隔天,才算连续登入
: 我目前是这样写
: $lastdate = strtotime (gmdate('Y-m-d',$lastlogin))/86400;
: $nowdate = strtotime (gmdate('Y-m-d',$nowlogin) )/86400 ;
新手学php不负责讲座
不要用除, 第一步切割用字串把几号切出来
EX:
$lastloginday = 01
$nowday = 02
看你系统纪录的时间格式是哪种
是 2010/01/01 你就直接切割出01就好
是 2010/1/1 你就要判断如何切 我的做法会是一开始记录时间的时候就把0的部分都补上去
另个需要注意的地方是
遇到月底的时候 2010/01/31 你就要先判断月 再判断日
大概观念应该是假设一月底 我就把31号变成0号 则下次登入1号 - 0号还是小於等於1
细节怎优话就自己想
if($lastloginmonth = 01 && $lastloginday = 31)
{$lastloginday = 0}
: if( intval($nowdate - $lastdate) == 1 )
: { //这次时间-上次时间,如果 = 1 就算过一天
: }
: 可是总觉得有些问题,不知道怎麽写比较好
: 谢谢
if( intval($nowdate - $lastdate) <= 1 ) { 还没过一天 }
小於等於是不是这样用我也忘了...应该是吧
真的不行再问我 我在写清楚点
--
最喜欢的一句话是?
世界和平
最尊敬的人是?
德蕾莎修女
请说一句话。
大家都要幸福喔~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.69.180.235
1F:→ knives:直接取绝对值如何 01/13 14:14
2F:→ Jerr:推楼上 abs(strtotime($ts1, $ts2)) < 86400 01/13 14:23
3F:→ Jerr:$ts1 & $ts2是timestamp 昏了 strtotime 拿掉 01/13 14:25