0


0

PHPでZendGData Picasa GPhotoTimestampsを解析する方法

だから、私はこの小さなコードで多くの問題を抱えています。 タイムスタンプの例は「1278509422000」です。 問題は、それが文字列として入って来て、どういうわけかそれを変換しなければならないことです。 私はミリ秒の問題について知っていて、1000以上(intval / floatval)で除算しようとしましたが、正しい日時値にはなりません。

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) {
}

3 Answer


1


Ok.. 結局のところ、ZendGDataは非常にオブジェクト指向であり、関数getGphotoTimestamp()はタイムスタンプの代わりにオブジェクトを返します。 プロジェクトで(ギアマンジョブで)コードが邪魔にならない場所と、オブジェクトがタイムスタンプの文字列repを返す__toString()を実装しているという事実のため、私はこれに気付きませんでした! floatval(strval(…​ ))トリックをしました!


0


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


0


次のコードが機能しました!! 乾杯…​

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

Happy Coding .. :)