2013-02-12 1 views
0

내 자신의 질문에 자동 응답 MySQL의 날짜 subscr_effective하는 방법 : 그것이 MySQL의에...</p> <p>알림을 subscr_date을 변환하고 목적이 하드 코어 충분히 자신이 단계를 저장하는 것입니다 IPN와 함께 너희들을 도와 때문에

  • $_POST['subscr_date']
  • $_POST['subscr_effective']

다음 페이팔 IPN의 필드를 변환하는 방법에 대한값.

희망이 있습니다. 혹시 MySQL의에이 날짜를 변환하는 방법을 궁금해하는 경우 건배, S.

답변

0

그래서, 여기에 코드입니다 :

DELIMITER $$ 
DROP FUNCTION IF EXISTS ppdate_to_mysqldate$$ 

CREATE FUNCTION ppdate_to_mysqldate(I_PP_EFFECTIVE_DATE VARCHAR(32)) RETURNS DATE DETERMINISTIC 
BEGIN 
DECLARE dteStart DATE; 

    /* 
     I_PP_EFFECTIVE_DATE:  
     . from doc: 
      Date when the subscription modification will be effective. 
      Time/Date stamp generated by PayPal, in the following format: HH:MM:SS DD Mmm YY, YYYY PST 
     . from real example: 
      03:00:00 Mar 11, 2013 PDT 
      06:56:24 Feb 11, 2013 PST 
    */ 

    IF INSTR(I_PP_EFFECTIVE_DATE, 'PDT') > 0 THEN 
     SELECT STR_TO_DATE(I_PP_EFFECTIVE_DATE, '%H:%i:%s %b %e, %Y PDT') INTO dteStart FROM DUAL; 
    ELSE 
     SELECT STR_TO_DATE(I_PP_EFFECTIVE_DATE, '%H:%i:%s %b %e, %Y PST') INTO dteStart FROM DUAL; 
    END IF; 

    RETURN dteStart; 
END$$ 

DELIMITER ; 
+1

'echo date ('Y-m-d H : i : s', strtotime ('03 : 00 : 00 2013 년 3 월 11 일 PDT ')); – Panagiotis

+0

이것이 작동하는지 모르겠지만 PHP가 아니라 mysql :-) – Sebas

+0

네,하지만 ipn에 어떤 sdk를 사용합니까? – Panagiotis

1

자바 사용자가 단지 SimpleDateFormat("HH:mm:ss MMM dd, yyyy z")를 사용해야합니다.

IPN 가이드 ("HH : MM : SS DD Mmm YY, YYYY PST")의이 형식에 대한 문서는 2 년 필드로 알 수 있듯이 올바르지 않습니다.

또한 오늘 막 설립 된이 샌드 박스 테스트 IPN 도구가 보내는 것은 아직 세 번째 형식입니다.