<?php
$t = date("H");if ($t < "10") {
echo "Have a good morning!";
} elseif ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>
현재, 낮 12시 11분인데... 결과값이 Have a good night! 나옵니다.
왜 그런거죠? 아무래도, 저 노란색 부분이 뭔가 우리나라 시간과 안 맞는 것 같은데...
|
답변 2개 / 댓글 3개
채택된 답변
+20 포인트
port443
2015-02-25 (수) 13:01:56
서버시간을 확인해보세요. GMT +9 인지 아닌지 부터 보시는게 정답이라 봅니다.
링크 참조해보세요.
http://mwultong.blogspot.com/2007/04/php-world-time-timezone.html
답변에 대한 댓글 1개
2015-02-25 (수) 13:06:51
2015-02-25 (수) 12:37:43
$a = floor (date('G') / 10);
$b = explode(' ', 'morning day night');
echo "Have a good $b[$a]!";
답변에 대한 댓글 2개
2015-02-25 (수) 12:59:16
알려주신 구문 역시, 결과값이 Have a good night! 나오네요.
현재 12시니까, 12/10 =1.2 내림하니까 $a = 1 되고, 결과값은 day가 나와야 할 것 같은데....
현재 12시니까, 12/10 =1.2 내림하니까 $a = 1 되고, 결과값은 day가 나와야 할 것 같은데....
2015-02-25 (수) 13:08:12
알려주신 코드들이 다 맞는 코드였는데, 서버 시간이 외국 거라서 계속 잘못 나왔나 봐요...
w3school.com이나 phptester.net 사이트가 외국 서버라 결과값이 엉뚱한 게 나온 듯 합니다.
좋은 코드 소개해 주셔서 고맙습니다.
w3school.com이나 phptester.net 사이트가 외국 서버라 결과값이 엉뚱한 게 나온 듯 합니다.
좋은 코드 소개해 주셔서 고맙습니다.
답변을 작성하려면 로그인이 필요합니다.
http://phptester.net/ 에서도 동일한 결과가 나와서 미처 서버 시간은 생각을 못했습니다.