2012-10-13 2 views
0

jquery 날짜 선택 도구를 사용하고 php date ('Y-m-D') 함수를 통해 날짜를 설정하고 있습니다. 둘 다 오늘을위한 다른 데이트를 제공합니다. Jquery 선택기는 php date()보다 하루 앞선 날짜로 필드를 채 웁니다. 다음은 jquery 함수입니다. jquery 오늘 PHP에 대한 동일한 날짜를 표시해야합니다.JQuery와 PHP 날짜 변경

<script type="text/javascript" charset="utf-8"> 
     var $j = jQuery.noConflict();     
     $j(function() 
      { 

       // initialise the "Select date" link 
       $j('#date-pick') 
        .datePicker(
         // associate the link with a date picker 
         { 
          createButton:false, 
          startDate: '01/01/1970', 
          endDate: (new Date()).asString() 
          //endDate:<?php echo date('y-m-d'); ?> 
         } 
        ).bind(
         // when the link is clicked display the date picker 
         'click', 
         function() 
         { 
          updateSelects($j(this).dpGetSelected()[0]); 
          $j(this).dpDisplay(); 
          return false; 
         } 
        ).bind(
         // when a date is selected update the SELECTs 
         'dateSelected', 
         function(e, selectedDate, $td, state) 
         { 
          updateSelects(selectedDate); 
         } 
        ).bind(
         'dpClosed', 
         function(e, selected) 
         { 
          updateSelects(selected[0]); 
         } 
        ).val(new Date().asString()).trigger('change'); 

       var updateSelects = function (selectedDate) 
       { 
        var selectedDate = new Date(selectedDate); 
        if(selectedDate != "Invalid Date") 
        { 
        $j('#d').val(selectedDate.getDate()); 
        $j('#m').val(selectedDate.getMonth()+1); 
        $j('#y').val(selectedDate.getFullYear()); 
        } 
       } 
       // listen for when the selects are changed and update the picker 

       // default the position of the selects to today 
       var today = new Date(); 
       updateSelects(today.getTime()); 

      }); 
     </script> 

답변

1

jQuery는 클라이언트 컴퓨터의 날짜를 사용하는 반면 PHP는 서버의 날짜를 사용합니다. 기본 시간대를 PHP로 설정하지 않으면 기본적으로 다릅니다. 이것 좀보세요 : http://php.net/manual/en/function.date-default-timezone-set.php

당신은 PHP의 주요 디렉토리에있는 php.ini의 파일 (. 예 PHP5.4)하여에서 서버의 날짜의 사용에 관해서는

의 기본 시간대를 설정할 수 있습니다 날짜 선택기 :

가 빠른 구글 검색이 나를 인도 : how to display server side dates in jquery datepicker? 기본적으로 그들이 현재의 타임 스탬프를 기반으로 새 날짜를 만드는했을 :

$timestamp = strtotime("2012-08-02"); 

minDate: new Date('<?php echo $timestamp; ?>'); 
+0

날짜 선택 도구로 날짜를 표시 할 수 있습니다.); 위의 코드에서 어딘가? –

+0

답변을 업데이트했습니다. –

1

클라이언트를 신뢰하지 마십시오. 날짜 및 시간

이 값은 변덕스럽게 변경 될 수 있습니다.

그냥 조언에 따라 사용하십시오.

자바 스크립트 외에 사용자 경험을 향상시킬 수 있습니다 (예 : 대화식으로 만들기). 그러나 하루가 끝나면 유효성을 검사하지 않고 클라이언트에서 가져온 데이터를 확인해야합니다.

+0

위의 코드에서 php date()를 어떻게 사용할 수 있습니까? –

+0

@AmnaAhmed - 사용자 경험을 위해 클라이언트 브라우저를 조금 신뢰합니다. 즉 날짜를 사용하십시오. 하지만 너무 많은 것을 신뢰하지 마십시오. 서버 (즉, PHP 스크립트)에 도달 한 선택 사항이이를 확인하고 유효성을 검사합니다. –