Home 게시판 커뮤니티 Q&A 시간 관련 질문입니다.

18개 답변, 3 voices Last updated by Avatar of DevssayDevssay 18 years, 8 months 전
  • Avatar of 무시못할석2무시못할석2
    Participant
    @무시못할석2
    #1284

    역시나 4월 말일이 되니 문제가 생기네요..

    말일 오후가 되면 어김없이 달력은 5월을 가르치고 있네요..

    4월로 이동을 하면 4월 31일에 오늘을 나타내는 표시가 되어 있구요..

    오늘 날짜는 맞는 걸로 봐서는 달력을 출력할 때 해당되는 월을 찾아 출력해주는 부분에 문제가 있지 않을까 하는 심증을 더욱 굳히게 되었습니다. 역시 php는 까막눈 수준이라 물증은 없구요..

    오늘은 워드프레스 한국 싸이트의 북마크에 있는 싸이트들을 전부 함 검사를 해봤습니다. 달력자체를 사용하지 않는 분들을 제외하고, 달력이 확인가능한 분들을 조사해 보니 대부분 5월로 표시가 되었습니다. 처음 표기되는 달력에서 4월을 클릭해서 일자가 맞는지 확인을 시도해봤으나, 스킨에 따라 오늘 날짜를 표시 하지 않는 경우가 많고, 또한 오늘 새글이 있으면 알 수가 없더군요..

    제가 확인해 본 블로그 중에서 http://heybears.com 만이 처음부터 4월 30일로 맞게 표현했습니다.

    그 외 아래의 블로그에서는 5월로 표시가 되었습니다. 메인에서 달력이 안 보이는 블로그는 카테고리를 클릭해서 달력이 보이면 그걸 기준으로 확인을 했습니다.
    http://cys.pe.kr <== 제 블로그
    http://hacker.golbin.net/wp/
    http://ktc.kunsan.ac.kr/~unfusion/word/
    http://www.gstory.com/achieves/category/story/
    http://fatastic902.com/
    http://blog.naxer.net/
    http://happyend.web-bi.net/blog/
    http://kaul2.be/wp/
    http://skydancer.g3.cc/blog/?cat=3

    그리고 우리나라만의 문제인가 싶어 일본 블로그 2개를 체크해봤는데
    http://cafelog.net/ 은 정상적으로 4월로 표시되었고,
    http://plasticdreams.org/ 는 5월로 표시가 되더군요..

    그 외 외국 사이트들을 체크해보려고 워드프레스 공식 페이지에서 몇 몇 블로그로 접속을 해 봤는데, 달력을 사용하는 유저가 몇 안되고, 그리고 어느 나라 사람인지 확인하는 것도 곤란해서 포기했습니다.

    이상의 결과로 봐서 2가지로 생각해 볼 수 있었습니다.
    첫째는, 서버상의 문제일 가능성.. 즉, 한국과 일본 공히 소수였지만 제대로 표시되는 사이트가 존재했다는 것이 그것을 뒷받침합니다.
    두번째는, gmt 변환 알고리즘에서 시차부분을 이중으로 처리되게 하는 실수를 했을 가능성입니다.

    하여튼 빨린 달력이 제 기능을 할 수 있었으면 좋겠습니다.

    Avatar of 무시못할석2무시못할석2
    Participant
    @무시못할석2
    #1293

    역시나 4월 말일이 되니 문제가 생기네요..

    말일 오후가 되면 어김없이 달력은 5월을 가르치고 있네요..

    4월로 이동을 하면 4월 31일에 오늘을 나타내는 표시가 되어 있구요..

    오늘 날짜는 맞는 걸로 봐서는 달력을 출력할 때 해당되는 월을 찾아 출력해주는 부분에 문제가 있지 않을까 하는 심증을 더욱 굳히게 되었습니다. 역시 php는 까막눈 수준이라 물증은 없구요..

    오늘은 워드프레스 한국 싸이트의 북마크에 있는 싸이트들을 전부 함 검사를 해봤습니다. 달력자체를 사용하지 않는 분들을 제외하고, 달력이 확인가능한 분들을 조사해 보니 대부분 5월로 표시가 되었습니다. 처음 표기되는 달력에서 4월을 클릭해서 일자가 맞는지 확인을 시도해봤으나, 스킨에 따라 오늘 날짜를 표시 하지 않는 경우가 많고, 또한 오늘 새글이 있으면 알 수가 없더군요..

    제가 확인해 본 블로그 중에서 http://heybears.com 만이 처음부터 4월 30일로 맞게 표현했습니다.

    그 외 아래의 블로그에서는 5월로 표시가 되었습니다. 메인에서 달력이 안 보이는 블로그는 카테고리를 클릭해서 달력이 보이면 그걸 기준으로 확인을 했습니다.
    http://cys.pe.kr <== 제 블로그
    http://hacker.golbin.net/wp/
    http://ktc.kunsan.ac.kr/~unfusion/word/
    http://www.gstory.com/achieves/category/story/
    http://fatastic902.com/
    http://blog.naxer.net/
    http://happyend.web-bi.net/blog/
    http://kaul2.be/wp/
    http://skydancer.g3.cc/blog/?cat=3

    그리고 우리나라만의 문제인가 싶어 일본 블로그 2개를 체크해봤는데
    http://cafelog.net/ 은 정상적으로 4월로 표시되었고,
    http://plasticdreams.org/ 는 5월로 표시가 되더군요..

    그 외 외국 사이트들을 체크해보려고 워드프레스 공식 페이지에서 몇 몇 블로그로 접속을 해 봤는데, 달력을 사용하는 유저가 몇 안되고, 그리고 어느 나라 사람인지 확인하는 것도 곤란해서 포기했습니다.

    이상의 결과로 봐서 2가지로 생각해 볼 수 있었습니다.
    첫째는, 서버상의 문제일 가능성.. 즉, 한국과 일본 공히 소수였지만 제대로 표시되는 사이트가 존재했다는 것이 그것을 뒷받침합니다.
    두번째는, gmt 변환 알고리즘에서 시차부분을 이중으로 처리되게 하는 실수를 했을 가능성입니다.

    하여튼 빨린 달력이 제 기능을 할 수 있었으면 좋겠습니다.

    Avatar of DevssayDevssay
    Keymaster
    @세이군
    #1285

    http://heybears.com
    이 주소는 워드프레스가 아닙니다. 테터툴즈를 쓰고 있는 블로그입니다.

    정확한 원인을 잡은 것 같습니다.


    function current_time($type, $gmt = 0) {
       switch ($type) {
          case 'mysql':
             if ( $gmt ) $d = gmdate('Y-m-d H:i:s');
             else $d = gmdate('Y-m-d H:i:s', (time() + (get_settings('gmt_offset') * 3600)));
             return $d;
             break;
          case 'timestamp':
             if ( $gmt ) $d = time();
             else $d = time() + (get_settings('gmt_offset') * 3600);
             return $d;
             break;
       }
    }


    $thisyear = gmdate('Y', current_time('timestamp') + get_settings('gmt_offset') * 3600);
    $thismonth = gmdate('m', current_time('timestamp') + get_settings('gmt_offset') * 3600);

    이 두 코드를 봤을때 $thisyear는 이렇게 변형이 됩니다.

    $thisyear = gmdate('Y',time()+(get_settings('gmt_offset')*3600) + get_settings('gmt_offset')*3600);

    결과적으로 gmt_offset이 두 번 적용이 되는 현상입니다.

    http://trac.wordpress.org/ticket/2189로 보고가 되어 있는 상황인데 패치도 있고 결론도 난 것 같은데 아직 살아있는 티켓입니다.

    Avatar of DevssayDevssay
    Keymaster
    @세이군
    #1294

    http://heybears.com
    이 주소는 워드프레스가 아닙니다. 테터툴즈를 쓰고 있는 블로그입니다.

    정확한 원인을 잡은 것 같습니다.


    function current_time($type, $gmt = 0) {
       switch ($type) {
          case 'mysql':
             if ( $gmt ) $d = gmdate('Y-m-d H:i:s');
             else $d = gmdate('Y-m-d H:i:s', (time() + (get_settings('gmt_offset') * 3600)));
             return $d;
             break;
          case 'timestamp':
             if ( $gmt ) $d = time();
             else $d = time() + (get_settings('gmt_offset') * 3600);
             return $d;
             break;
       }
    }


    $thisyear = gmdate('Y', current_time('timestamp') + get_settings('gmt_offset') * 3600);
    $thismonth = gmdate('m', current_time('timestamp') + get_settings('gmt_offset') * 3600);

    이 두 코드를 봤을때 $thisyear는 이렇게 변형이 됩니다.

    $thisyear = gmdate('Y',time()+(get_settings('gmt_offset')*3600) + get_settings('gmt_offset')*3600);

    결과적으로 gmt_offset이 두 번 적용이 되는 현상입니다.

    http://trac.wordpress.org/ticket/2189로 보고가 되어 있는 상황인데 패치도 있고 결론도 난 것 같은데 아직 살아있는 티켓입니다.

4 글 보임 - 16에서 19 까지 (총 19 중에서)
  • 답변은 로그인 후 가능합니다.