时间戳返回为奇怪的字符串

时间:2013-12-17 10:58:35

标签: php pdo cassandra

当我通过PDO从cassandra数据库中选择timestamp时(也安装了YACassandraPDO),我得到以下输出;

Bý£1€

string(8)

中标识为var_dump

此值应为December 17th 2013 00:00:00

作为猜测,我尝试了$arr = unpack("l", $raw['date']);,结果是

Array([1] => 1107361792)

但是从epoch转换,这等于:2005-2-02

谁能告诉我我应该做什么?

更新

顺便说一句,时间戳在CQL命令行和DevCenter中显示得很好。

更新2

这是我用来选择行的方法;

function getAny($limit=100)
{
    $stmt = $this->pdo->prepare("SELECT * FROM \"".$this->tableName."\" LIMIT $limit;");
    if($stmt->execute() === false)
    {
        $this->logError($stmt, "getAny");
        return false;
    }
    return $stmt->fetchAll(PDO::FETCH_ASSOC);
}

2 个答案:

答案 0 :(得分:0)

在插入数据库时​​检查时间戳是否正确。您应该拥有的纪元时间字符串是1387238400

答案 1 :(得分:0)

不是一个真正的答案,但它似乎是一个很好的解决方案,它会得到;我简单地将列类型更改为bigint以存储纪元时间&现在工作正常。如果有人发现发生了什么,我很想知道!