발전을 통해 상대 날짜를 사용하여 strtotime()
문제
하려고 해요 사용 strtotime()
에 대응하는 버튼을 클릭하 사전 -1+1 일(두 개의 버튼)에 상대적인 하루 고급에 이전 을 클릭합니다.
예제:
- 그것은 매월 10 일까지,나는"를 클릭 -1 일"버튼을,그리고 이제 날짜를 읽으로 9 일입니다.
- I click the"-1 일"버튼을 다시고 지금은 결국 8 일.
- 클릭"+1 일"버튼을 지금 결국 그는 9 일입니다.
이 버튼 및 표시 날짜 및 사용 $_GET
PHP 정보를 전달하지만,나는 어떻게 얻 strtotime()
작업에 상대적일부터 마지막으로 시간 여행 스크립트라고?
내 일은 지금까지 보여드리겠 어제와 오늘을 상대 지금 하지만 상대적이,예를 들어, 제, 나 내일.나하여 사용하는 경우 "마지막 월요일은" 버튼 하루 전 또는 후에 무엇이든는 일입니다.
해결책
작업에서 이전의 통화는 같은 스크립트가 아닌 정말 좋은 아이디어에 대한 이 유형의 것입니다.
당신이 원하는 무엇이 항상 두 값을 스크립트,날짜,그리고 운동입니다.(아래 예에서는 단순화된 그래서 당신만을 전달한 날,그리고 항상 하나를 추가 하루 it)
예
http://www.site.com/addOneDay.php?date=1999-12-31
<?php
echo Date("Y-m-d",(strtoTime($_GET[date])+86400));
?>
참고해야하는지 확인하는 설정됩($_GET[날짜])전뿐만 아니라
만약 당신이 정말로 원하는 작업에서 이전의 통화는 같은 스크립트를 당신이 그것을 할 수있 세션과,그래서 지정하는 경우는 경우입니다.
다른 팁
Kevin,당신은 절대적인 솔리드 베이스(즉날짜/시간),상대가 아니다.당신은 다음을 변환하는 상대 기간.그래서 예를 들어,기본적으로,당신을 보여주는 달력은,당신은에서 작동 오늘 날짜입니다.
int strtotime ( string $time [, int $now ] )
당신이 볼 수 있는 함수 정의에 여기의 strtotime,두 번째 인수는 지금,즉날짜를 변경할 수 있습니다에서는 상대적이다.
이 쉬울 수 있습니다 표시를 통해 빠른 루프
이것은 반복을 통해 지난 10 일"를 사용하여 어제"으로 첫 번째 인수로 합니다.우리가 사용하여 다음 날짜에 그것을 밖으로 인쇄 할 수 있습니다.
$time = time();
for ($i = 0; $i < 10; $i++) {
$time = strtotime("yesterday", $time);
print date("r", $time) . "\n";
}
그래서 통과 시간/날짜를 통해 URI 를 그래서 저장할 수 있습니다 상대적인 날짜입니다.
잠시 후의 영감 솔루션을 제 질문을 명백하게 되었 me(내 자전거를 타고 있었).는'$'지금의 일부
strtottime( string $time {,int $now ])
으로 설정해야합니다.지 않"$시간에()-"지금,하지만"현재 날 나는 우려와 함께/내가 찾는 나 로그습니다.
ie:내가 찾고있는 경우에는 작업표 요약 대 8/10/2008,그 다음은"이제 따라"strtotime();어제는 8/09 고 내일은 8 월 11 일.면 나는 크리프 하루,"now"은 8 월 11 일,어제 8/10,그리고 내일은 8/12.
여기에 코드를 들어:
<?php
//catch variable
$givendate=$_GET['given'];
//convert given date to unix timestamp
$date=strtotime($givendate);
echo "Date Set As...: ".date('m/d/Y',$date)."<br />";
//use given date to show day before
$yesterday=strtotime('-1 day',$date);
echo "Day Before: ".date('m/d/Y',$yesterday)."<br />";
//same for next day
$tomorrow=strtotime('+1 day',$date);
echo "Next Day: ".date('m/d/Y',$tomorrow)."<br />";
$lastmonday=strtotime('last monday, 1 week ago',$date);
echo "Last Moday: ".date('D m/d/Y',$lastmonday)."<br />";
//form
echo "<form method=\"get\" action=\"{$_SERVER['PHP_SELF']}\">";
//link to subtract a day
echo "<a href=\"newtimetravel.php?given=".date('m/d/Y',$yesterday)."\"><< </a>";
//show current day
echo "<input type=\"text\" name=\"given\" value=\"$givendate\">";
//link to add a day
echo "<a href=\"newtimetravel.php?given=".date('m/d/Y',$tomorrow)."\"> >></a><br />";
//submit manually entered day
echo "<input type=\"submit\" name=\"changetime\" value=\"Set Current Date\">";
//close form
echo "<form><br />";
?>
클릭하"<<"및">>"전진과 후퇴를 하루에 질문