>  기사  >  백엔드 개발  >  PHP strtotime에서 지난 월요일의 시간을 얻는 방법은 무엇입니까? -1 월요일이 틀렸어요

PHP strtotime에서 지난 월요일의 시간을 얻는 방법은 무엇입니까? -1 월요일이 틀렸어요

WBOY
WBOY원래의
2016-10-17 09:30:102296검색

-1 월요일 출력이 이번주 월요일인데 참 이상하네요

답글 내용:

-1 월요일 출력이 이번주 월요일인데 참 이상하네요

외국인들은 "이번 월요일"이 다음 월요일이고 "지난 월요일"이 이번 월요일이라고 생각하기 때문이죠
그냥 "-2 월요일", 즉 "지난주 월요일"

date('월-일', strtotime('-' . (6+date('w')) . '일'));

-7 days

last week

일반적으로 두 단계로 이루어집니다. 먼저 마지막 주의 임의의 날짜를 구한 다음 월요일을 구합니다. 마치 월말을 구하는 것이 다음 달 1일을 구하고 그 다음 -1일을 구하는 것과 같습니다.

이에 대한 일반적인 방법을 작성해 보겠습니다

<code>function last_monday($timestamp=0,$is_return_timestamp=true){ 
    static $cache ; 
    $id = $timestamp.$is_return_timestamp; 
    if(!isset($cache[$id])){ 
        if(!$timestamp) $timestamp = time(); 
        $thismonday = this_monday($timestamp) - /*7*86400*/604800; 
        if($is_return_timestamp){ 
            $cache[$id] = $thismonday; 
        }else{ 
            $cache[$id] = date('Y-m-d',$thismonday); 
        } 
    } 
    return $cache[$id]; 
}</code>

date('w')는 월요일부터 토요일이 각각 1-6이고 일요일이 0이므로 현재 요일을 가져옵니다. 값이 0이면 지난 월요일은 13일 전입니다. 나머지는 date('w')+6일 전입니다.

<code>$days = date('w')==0?13:date('w')+6;

echo date('Y-m-d',time()-$days*86400);</code>

여기에서 문서 링크 설명을 확인하세요

echo "지난 월요일:".date("Y-m-d",strtotime("지난 월요일"))."
";

$time = strtotime("-7일");

$timetest =date("연월일 h:i:sa", $time);

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.