日期:2014-05-17  浏览次数:20519 次

从2000年1月1日开始“三天打渔,两天晒网”算,求任意一天打渔还是晒网?
从2000年1月1日开始“三天打渔,两天晒网”算,求任意一天打渔还是晒网?

------解决方案--------------------
PHP code
<?php
$s=strtotime('2000-1-1');
$time=strtotime('2012-5-11');
$sum=($time-$s)/86400;
$day=$sum%5;
echo $day<=3?'打渔':'晒网';

------解决方案--------------------
写个函数了。

PHP code

function GetText($day)
{
    $nowDay = date("z", strtotime($day)) + 1;
    Return ($nowDay%5 >= 1 && $nowDay%5 <=3) ? '晒网' : '打鱼';
}

echo GetText('2011-01-01');

------解决方案--------------------
计算的不准是因为天数差计算有误

给个最笨的方法,供你参考。你不是在做作业吗?

$t = strtotime('2000-1-1');
$i = 0;
while($t < time()) {
echo date('Y-m-d', $t) . ' '. ($i < 3 ? '打渔' : '晒网') . PHP_EOL;
$t = strtotime('+1 day', $t);
$i = ($i+1) % 5;
}