> 백엔드 개발 > PHP 튜토리얼 > 用程序输出从星期日至星期六,每天变化的只是日期而星期不变

用程序输出从星期日至星期六,每天变化的只是日期而星期不变

WBOY
풀어 주다: 2016-06-23 13:48:26
원래의
823명이 탐색했습니다.

我弄了一个简单的程序,原先的意思是输出星期日至星期六,但是现在我搞的每天日期和星期都在变化,我想要的结果是这样:
2014-9-28(星期日)
2014-9-29(星期一)
2014-9-30(星期二)
2014-10-1(星期三)
2014-10-2(星期四)
2014-10-3(星期五)
2014-10-4(星期六)
到了2014-10-5(星期日)。。。。。一次类推,只有日期在变,而星期不变,这个怎么实现的呢?这个是我原先的程序,

function getWeek($day){  $days = array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');  $day = explode('-',$day);  return $days[date('w',mktime(0,0,0,$day[1],$day[2],$day[0]))];}<?phpfor($i = 0;$i < 7;$i++){$day = date('Y-m-d',strtotime(''.($i+1).' day'));echo $day."(".getWeek($day).")";}?>
로그인 후 복사


回复讨论(解决方案)

这个意思?

function getWeek($day){  $days = array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');  return $days[date('w', strtotime($day))];}$date = '2014-09-29';if($w = date('w', strtotime($date))) $date = date('Y-m-d', strtotime("-$w day $date"));for($i = 0;$i < 7;$i++){$day = date('Y-m-d',strtotime("$i day $date"));echo $day."(".getWeek($day).")\n";}
로그인 후 복사
로그인 후 복사

这个意思?

function getWeek($day){  $days = array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');  return $days[date('w', strtotime($day))];}$date = '2014-09-29';if($w = date('w', strtotime($date))) $date = date('Y-m-d', strtotime("-$w day $date"));for($i = 0;$i < 7;$i++){$day = date('Y-m-d',strtotime("$i day $date"));echo $day."(".getWeek($day).")\n";}
로그인 후 복사
로그인 후 복사


就是这种效果,但是版主定义的$date=‘2014-09-29’起什么作用呢?

我理解成楼主想要这周的周一到周日。。。
header("Content-Type: text/html; charset=utf-8");

$timestamp=time();
$is_return_timestamp=false;
static $cache ;
$id = $timestamp.$is_return_timestamp;
if(!isset($cache[$id])){
if(!$timestamp) $timestamp = time();
$monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));
if($is_return_timestamp){
$cache[$id] = strtotime($monday_date);
}else{
$cache[$id] = $monday_date;
}
}
$Monday=strtotime($cache[$id]);
$Tuesday=$Monday+3600*24*1;
$Wednesday=$Monday+3600*24*2;
$Thursday=$Monday+3600*24*3;
$Friday=$Monday+3600*24*2;
$Saturday=$Monday+3600*24*6;
$Sundany=$Monday+3600*24*6;
echo $cache[$id].'周一
' ;
echo date("Y-m-d",$Tuesday).'周二
';
echo date("Y-m-d",$Wednesday).'周三
';
echo date("Y-m-d",$Thursday).'周四
';
echo date("Y-m-d",$Friday).'周五
';
echo date("Y-m-d",$Saturday).'周六
';
echo date("Y-m-d",$Sundany).'周日
';



?>

$Saturday=$Monday+3600*24*5; 这地方改下。。

function getWeek($day){  $days = array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');  return $days[$day];}for($i=0;$i<7;$i++){    $a=strtotime("+$i day");    $b=getWeek(date('w',$a));    $c=date('y-m-d',$a);    echo "20$c$b<br/>";}
로그인 후 복사


2014-09-28星期日2014-09-29星期一2014-09-30星期二2014-10-01星期三2014-10-02星期四2014-10-03星期五2014-10-04星期六
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿