이 3문장을 php로 표현하려면 어떻게 하나요? 채택완료
2015-08-13 (오늘)을 기준점 숫자 3000 이라 지정해 이 숫자를 변수 $day에 할당합니다.
이 변수 $day는 매일 1씩 증가합니다.
K라는 반복문은 26부터 시작해 $day까지 반복적으로 실행해 역순으로 정렬합니다.
세 번째 줄의 26부터 시작해 $day까지 반복적으로 실행한다 표현은 아래처럼 하는 걸로 압니다.
for ($cnt=26; $cnt<=$day; $cnt++) {
K라는 반복문
}
혹, 위 핑크색 굵은색 문장을 PHP로 표현하는 방법 좀 부탁드립니다.
답변 2개
2015-08-13이라는 날짜는 지정되어야 할 것같네요.
14일이 되었을때도 오늘이 들어가면 $day의 날짜가 변경되지 않겠죠.
</p><p>$startDate = new DateTime("2015-08-13"); // 지정된날짜</p><p>$nowDate = date("Y-m-d"); // 오늘날짜</p><p> </p><p>$dateDiff = date_diff($startDate, $nowDate); // 지정된날짜와 오늘날짜의 차이</p><p> </p><p>echo $dateDiff->days + 3000; // 위에서 구한 차이에 기준점숫자 3천을 더해서 출력</p><p>
답변에 대한 댓글 3개
$startDate = new DateTime("2015-08-01"); // 지정된날짜
$nowDate = new DateTime(date("Y-m-d")); // 오늘날짜
$dateDiff = date_diff($startDate, $nowDate); // 지정된날짜와 오늘날짜의 차이
echo $dateDiff->days + 3000 ; // 위에서 구한 차이에 기준점숫자 3천을 더해서 출력
평일에만 숫자가 올라갔으면 하거든요....
관련 질문: http://sir.co.kr/qa/87728
댓글을 작성하려면 로그인이 필요합니다.
음 쉬우면서도 어렵네요
일단 기준점을 정해야겠지요
오늘이 기준점이던지 어제가 기준점이던지
일단은 기준점을 2015-01-01로 했다치면
$standardDay = "2015-01-01";
함수를 하나 만들어보겠습니다
function getDateNum($d) {
$_timestamp = array(86400, 3600, 60, 1);
$d = strtotime($d);
$minusDay = "0";
foreach($_timestamp as $key => $value) {
if($d <= (time() - $value) && empty($minusDay) && $key == 0) {
$minusDay = (int)((time() - $d)/$_timestamp[$key]);
}
}
Return $minusDay;
}
echo getDateNum($standDay);
이렇게 하면 오늘부터 1월1일이 며칠 전인지 나오게 됩니다
이렇게 나온 숫자를 3000에 더해주시면 됩니다
역으로 하실거면
for($cnt = $day; $cnt >= 26; $cnt--) {
}
머 이런식으로 하면 삼천몇부터해서 26까지 반복하겠지요
답변에 대한 댓글 3개
또,
$standardDay 변수와 function 과의 관계를 모르겠습니다.
마지막엔 $standDay 변수가 나오구.....
--------------------------------------------------------------
$standardDay = "2015-01-01";
함수를 하나 만들어보겠습니다
function getDateNum($d) {
$_timestamp = array(86400, 3600, 60, 1);
$d = strtotime($d);
$minusDay = "0";
foreach($_timestamp as $key => $value) {
if($d <= (time() - $value) && empty($minusDay) && $key == 0) {
$minusDay = (int)((time() - $d)/$_timestamp[$key]);
}
}
Return $minusDay;
}
echo getDateNum($standDay);
--------------------------------------------------------------
드래곤된다 님 소스가 직관적이라, 드래곤된다 님 소스를 사용하고자 하는데,
드래곤된다 님 소스도 어디가 좀 문제가 있는 것 같네요.
function 에서는 기준이 점이 된 날짜와 오늘과의 관계를 계산해서 며칠이 차이가 나는지를 알려줍니다
그래도, 정성들여 답변해주셔서 정말 고맙습니다. 좋은 하루 되세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
근데, 아래처럼 적어줬는데, 결과값이 3000으로 찍혀 나오네요. 3012가 나와야 하는데...
아무래도 마지막 줄이 잘못된 것 같은데, php 까막눈이라 잘 모르겠네요.
<?
$startDate = new DateTime("2015-08-01"); // 지정된날짜
$nowDate = date("Y-m-d"); // 오늘날짜
$dateDiff = date_diff($startDate, $nowDate); // 지정된날짜와 오늘날짜의 차이
echo $dateDiff->days + 3000 ; // 위에서 구한 차이에 기준점숫자 3천을 더해서 출력
?>
그리고, 역순으로 정렬하는 방법도 아시면 부탁드려요.
숫자가 몇천단위이다 보니...가장 최근 게 가장 먼저 찍혔으면 싶거든요..
아래처럼 적어줘봤는데, 아무 것도 안 뜨네요.
<?php
$startDate = new DateTime("2015-08-01"); // 지정된날짜
$nowDate = date("Y-m-d"); // 오늘날짜
$dateDiff = date_diff($startDate, $nowDate); // 지정된날짜와 오늘날짜의 차이
echo $dateDiff ; // 위에서 구한 차이에 기준점숫자 3천을 더해서 출력
?>