0

所以,我在这段小代码上遇到了很多麻烦。一个示例时间戳是这样的:'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) {
}
4

3 回答 3

1

好的.. 事实证明,ZendGData 非常非常面向对象,函数 getGphotoTimestamp() 返回一个对象而不是时间戳。我没有注意到这一点,因为代码在项目中的位置(在齿轮工作中)以及对象实现了返回时间戳字符串代表的 __toString() 的事实!使用 floatval( strval( ... ) ) 成功了!

于 2010-07-12T10:09:52.753 回答
0
$time = date('Y-m-d H:m:s', intval($photo->getGphotoTimestamp())/1000);
于 2010-07-08T10:36:02.550 回答
0

以下代码有效!干杯...

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

快乐编码.. :)

于 2013-01-05T14:01:25.790 回答