밤 11시에 예약해 둔 글이 있었습니다. 다음 날 오전 9시에 자동으로 올라가도록 맞춰 뒀죠. 그런데 아침에 일어나 보니 글은 이미 새벽에 올라가 있었고, 방문자 통계도 엉망이었습니다. 코드를 백 번 봐도 시간 계산에는 문제가 없었어요. 범인은 코드가 아니라 ==서버의 시간대(timezone) 설정==이었습니다. > 시간 버그의 90%는 '계산'이 아니라 ...
"7일 뒤"를 계산했는데 결과가 하루씩 밀린 적, 한 번쯤 있으시죠? 저는 회원 쿠폰 만료일을 `strtotime`과 문자열로 대충 계산했다가, 월말과 윤년에서 보기 좋게 틀렸습니다. PHP에서 날짜를 안전하게 다루는 길은 생각보다 단순합니다. ==`DateTime` 클래스== 하나만 손에 익히면 됩니다. > 날짜는 '문자열'이 아니라 '객체'로 다뤄야 실...