2011-08-24 9 views
0

전자 메일에 pdf 첨부 파일과 함께 바우처 주문에 대한 전자 메일을 보내는 사이트에 Zend 프레임 워크를 사용하고 있습니다. 모든 것이 사이트에서 잘 작동하지만 pdf 만 보내는 만료 날짜만으로 문제가 발생합니다. 내 데이터베이스 테이블 값에서 만료 날짜 매개 변수를 전달했지만 항상 1-1-1970의 일부 기본값을 사용합니다. 전자 메일과 함께 pdf 첨부 파일에 다음 코드 집합을 사용했습니다.Zend framework invalid date

$endDate = new Zend_Date(); 
    $endDate->set($data['voucher']['enddate']); 
    $endDate= $endDate->toString('dd/MM/YYYY'); 

    //build PDF voucher attachment 
    $at = $this->generateVoucherPDFAttachement($recipientName, $customerName, $data['order']['msg'], $order['vouchercode'], $endDate); 

    $this->_helper->Mail(array(
      '[email protected]' => '[email protected]', 
      '[email protected]' => '[email protected]', 
       ), 'New voucher order #' . $data['order']['id'], $mailMsg, $at); 

답변

1

어떤 형식이 $data['voucher']['enddate']입니까? Zend_Date 오브젝트를 빌드 할 때주의해야합니다. 그렇지 않으면 주어진 로케일을 기반으로하는 경험적 방법을 사용하여 주어진 날짜를 구문 분석합니다. 날짜는 DB 필드에서 오는 경우

일반적으로 (즉-MM-DD YYYY)이 방법으로 Zend_Date을 구축 할 수 있습니다 :

$date = new Zend_Date('2011-08-24', 'yyyy-MM-dd'); 
print_r($date->get(Zend_Date::DATE_FULL)); 
+0

나는 yyyy-의 형식으로 날짜가 데이터베이스를 점검 한 MM-dd pnly. 코드가 변경되었지만 여전히 pdf가 1/1/1970에 표시됩니다. $ endDate = new Zend_Date ($ data [ 'voucher'] [ 'enddate'], 'yyyy-MM-dd'); $ endDate-> get (Zend_Date :: DATE_FULL); $ endDatenew = $ endDate-> toString ('dd/MM/YYYY'); – Anandhan

+0

@Anandhan'$ endDate' 변수에 올바른 날짜가 들어 있으면 문제가 PDF 생성 코드에 있어야합니다. 'generateVoucherPDFAttachement'를 확인하면 대답이 나타납니다. – Fabio

+0

: 메이트 감사합니다. – Anandhan