질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS 기타

<?php
$nt =930;
$url = "https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo={$nt}";

 

 

 

$nt 값이 url에 들어가야할 회차 입니다.

 

930회차가 2020-09-26 일 토요일 저녁 8시 45분즈음에 갱신된 회차입니다.

 

다음 주 토요일 10월 3일 저녁 09시 00분에 931로 자동으로 계산이 되게 하고 싶은데요.

 

  • profile

    echo strtotime('2020-09-26 21:00:00 -0900');
    1601186400

     

    위의 숫자가 한국시간 9월 26일 저녁 9시의 유닉스 타임스탬프 값입니다.

    유닉스 타임스탬프는 하루에 86400초씩 증가합니다. 일주일이면 604800초입니다.

    위의 숫자를 기준으로 604800초 증가할 때마다 회차가 1씩 증가하도록 한다면

    앞으로도 매주 같은 시간에 로또를 추첨한다는 가정 하에, 매주 해당회차를 표시할 수 있겠지요.

     

    나눗셈 결과에 소수점이 있을 때는 floor() 함수를 사용하여 "내림"해줍니다. 여기서 반올림하면 안되니까요.

    $nt = 930 + floor((time() - 1601186400) / 604800);

     

  • profile profile
    감사합니다. 산수도 못하고 프로그램도 못하니 손가락 빨고 있었는데 역시 다르십니다. 아주 잘 사용하겠습니다.
    이놈의 로또 api는 왜 최신회차를 제공하는 api는 없는건지....
  • profile profile

    어.. 회차가 증가 안해서 지금 계산해 보니...

    0.89413359788 가 나오네요. 뭐가 잘못되었을까요.....

     

    나누기를 518400 로 해보니까 1과 비슷한 약간 큰 수가 나오네요. 일단 이걸로 바꿔봤습니다.

  • profile profile

    음... 기준이 되는 9월 26일 시간을 제가 해외서버에서 계산한 모양이네요.

    분명 한국시간을 넣었던 것 같은데 몇 시간 오차가 납니다. ㅠ
    앞의 숫자를 1601121600으로 해보세요. 604800은 그대로 두시고요.

  • profile profile

    아니에요 1601186400 이게 지금 저희 서버에서 출력한 값입니다.

  • profile profile
    다시 보니 +0900이어야 하는데 -0900으로 잘못 썼네요.
    타임존 설정할 때는 Etc/GMT-9로 해야 +9로 나오더니... 일관성 없는 PHP... ㅠ
  • profile profile
    아.. 다시 뽑아볼게요...
  • profile profile
    아.. 이제 제대로 고쳐진거 같습니다. 감사합니다.
    계산이 아무리 해도 안나온게 이런 이유였군요 ㅋㅋ
  • profile profile
    네. 혼란을 드려서 죄송합니다.
  • profile profile
    아니요. 저야 하나 더 배우고 좋죠 ㅎ