2014-07-08 3 views
1

안녕하세요. 우아한 오늘, 화요일에 을 선택하고 오늘 화요일에 인 경우 오늘 어떻게 사용합니까?다음 주 화요일, 화요일 이후 아니요

내가 먼저 시계가 자정 월요일 통과 그런

strtotime('next Tuesday'); 

을 사용하고, strtotime으로는 아무것도 변경하지 않는 것 화요일

strtotime('next Tuesday', strtotime('tomorrow')) 

NEXT (다음)을 대상으로 시작했다 (여전히 화요일 다음 주 대상)

strtotime('this tuesday') 

오늘은 작동하지만 내일 화요일에 대상으로 지정됩니까?

$today = new DateTime("today"); 
$tuesday = new DateTime("this tuesday"); 
if($today > $tuesday){ 
    $tuesday->modify("next tuesday"); 
} 

답변

2

strtotime("this tuesday") 당신이 일할 수있는

//given current datetime of Tue Jul 8 03:40:27 
print date('Y-m-d',strtotime('this tuesday')); //2014-07-08 
print date('Y-m-d',strtotime('this monday')); //2014-07-14 
print date('Y-m-d',strtotime('this wednesday')); //2014-07-09 
+0

그리고 그 목표는 항상 화요일에오고 있습니까? 아니면 어제 화요일을 목표로합니까? – mowgli

+1

@mowgli 가장 가까운 화요일을 오늘보다 크거나 같게합니다. 그것은 어제를 목표로하지 않습니다. 'this monday'는'7/14'을 산출합니다. – FuzzyTree

+0

좋아, 시도하고 오늘 밤에 일어나는 일을 00:00에 봅니다.) – mowgli

0

<?php 

$day=date('D'); 
if($day=='r'){ 
    $date=date('Y-m-d'); 
}else{ 
    $date=date('Y-m-d',strtotime('next tuesday')); 
} 
echo $date; 
?> 
+1

찾고있는,하지만 난 그냥 한 strtotime ('다음주 화요일', 한 strtotime ('어제')를 사용할 수 있는지 문의하면 피하고 싶은) .. 지금까지 작동합니다. – mowgli

+0

if 문에 문제가 없습니다. 당신이 고수해야 할 하나 이상의 조건이 있으므로, 당신은해야 할 것입니다. 어쩌면 당신은 삼항 연산자로 포장 할 수 있지만 그것은 더 이상 바람직하지 않습니다. –

+0

아무 문제가 없습니다. 하지만 strtotime에 완벽한 빌드 인 쉬운 솔루션이 있다면 – mowgli

0

한 가지 방법은 오늘 그래서 다음주 화요일보다 낮은 경우, 오늘이 화요일을 비교하는이 코드를 검토하십시오 다음주입니다 .

<?php 
    $today = date('D'); 
    $Tuesday= strtotime("Monday"); // change To Monday to test 
    $secondTuesday=strtotime("next Tuesday",$Tuesday); 
    echo $today === $Tuesday? date('d.m.Y',$secondTuesday):$today ; 


    ?> 
0
당신이 문을 사용하여 피할 수

:

+0

세개가 숨겨진 이유는 무엇입니까? – artragis

+0

네, 맞아요. 하지만 나는 조금 더 깔끔한 코드를 원한다고 생각했다. – Mubo

+0

고마워.하지만 어딘가에 strtotime이 있어야한다고 확신했고 가능하다면 불필요한/다중 라인 코드를 사용하지 않으려했다. 그리고 그것을했습니다 : strtotime ("this tuesday") – mowgli

관련 문제