2010-07-08 2 views
0

그래서이 작은 코드에 많은 문제가 있습니다. 타임 스탬프의 예는 '1278509422000'입니다. 문제는 그것이 문자열로 제공되며 어떻게 든 변환해야한다는 것입니다. 내가 밀리 초 문제를 알고 1000 및 훨씬 더 (intval/floatval)로 나눈 시도했지만 올바른 datetime 값이되지 않습니다.PHP에서 ZendGData Picasa GPhotoTimestamps를 구문 분석하는 방법

Zend_Loader::loadClass('Zend_Gdata_Photos'); 
Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); 
Zend_Loader::loadClass('Zend_Gdata_AuthSub'); 

$gp = new Zend_Gdata_Photos(Zend_Gdata_AuthSub::getHttpClient($data->token), "Bla"); 
try { 
    $userFeed = $gp->getUserFeed("default"); 
    foreach ($userFeed as $userEntry) { 
     $album = $userEntry->getGphotoName(); 
     try { 
      $query = $gp->newAlbumQuery(); 
      $query->setUser("default"); 
      $query->setAlbumName($album); 
      $albumFeed = $gp->getAlbumFeed($query); 
      foreach ($albumFeed as $photo) { 
       $time = date('Y-m-d H:m:s', $photo->getGphotoTimestamp()); 
      } 
     } catch(Exception $e) { 
     } 
    } 
} catch(Exception $e) { 
} 

답변

1

좋아 ..이 밝혀 그래서 ZendGData 지향 아주 목적은 상기 기능이 getGphotoTimestamp() 및 타임 스탬프 대신에 오브젝트를 반환한다. 나는 코드가 프로젝트에서 (장비 작업에서) 자리를 비 웠기 때문에 그리고 객체가 타임 스탬프의 문자열 rep을 반환하는 __toString()을 구현했기 때문에 이것을 알아 채지 못했습니다! floatval (strval (...))을 사용하여 트릭을 만들었습니다!

0
$time = date('Y-m-d H:m:s', intval($photo->getGphotoTimestamp())/1000); 
+0

: 좋은 시도하지만 내가 내가 밀리 초 문제에 대해 알고 말했을 때 .. 여기 의미 2 개 스크린 샷이 무엇인지 정확히 적어도 내가 해봤 ... 코드 : http://moby.to/lcbclk DB : http://moby.to/tu0zh0 ... 시도해 줘서 고마워! –

+0

1) floatval ($ photo-> getGphotoTimestamp()/1000) 대신 intval ($ photo-> getGphotoTimestamp())/1000을 사용하십시오.) 2) flaotval – wspruijt

+0

대신에 사용자 intval :/실제로 그것이 만든 제안입니다. 동료 ... 나는 지금 둘 다 시도하고 모두 올바른 답을주지 않아 .. –

0

다음 코드가 작동했습니다! 환호 ...

$date_and_time = date('Y-m-d H:m:s', floatval(strval($entry->getGphotoTimestamp();)/1000)); 

해피 코딩 .. :

관련 문제