테스트 사이트 - 개발 중인 베타 버전입니다

(초보)날짜 표시 질문입니다! 채택완료

Oneuls 3년 전 조회 1,725

안녕하세요.

마지막 날짜 표시관련해서 질문드립니다.

현재 오류를 설명드리자면,

현재 달이 9월일때 전월(8월)을 선택해서 날짜를 띄우면,

8월이 31일 까지 있음에도 30일까지만 표시됩니다.(9월이 30일까지 있기때문에)

현재 달이 8월일때는 마지막날이 30일인 달에도 31일까지 표시됩니다.

그래서, 선택한 달의 마지막 날짜 까지만 페이지에 표시되었으면 합니다.

짜여진 코드는 아래와 같습니다.

도움 부탁드리겠습니다. 감사합니다!

if(!$sYear){ $sYear = date(Y); } if(!$sMon){ $sMon = date(m); }

$last_day = date("t", strtotime($sYear."-".$sMon."-01"));

?>

                            

                            

                            

                            

 

                                                                                                       

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
독구파랑
strtotime 대신 mktime을 사용해 보십시요
$last_day = date('t', mktime(0, 0, 0, 1, 1, 2017));
mktime함수의 인자는 순서대로 시간, 분, 초, 월, 일, 년도 입니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

</p>

<p>$last_day = date("t", strtotime("2022-10-01"));</p>

<p>echo $last_day . '
';</p>

<p>echo $sYear . '
';</p>

<p>echo $sMon . '
';</p>

<p>$last_day = date("t", strtotime($sYear."-".$sMon."-01"));</p>

<p>echo $last_day . '
';</p>

<p>

이런식으로 어디서 값이 틀어지는지도 확인해보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

if(!$sYear){ $sYear = date('Y'); } if(!$sMon){ $sMon = date('m'); }

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

https://jqueryui.com/datepicker/

그냥 이런 거 쓰는 게 좋지 않을까요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

ifelse
3년 전

sMon 값을 못받아오니까 현재달의 lastday로 계속 구하는거 같은데..

SYear나 sMon값이 정상적으로 받아지나요? 

무조건 date(m)이랑 date(Y) 값으로만 작동 안하나요?

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

O
Oneuls
3년 전
네 ㅠㅠ sYear, sMon의 값은 정상적으로 받아지고있습니다..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인