时间戳以奇怪的字符串形式返回


Timestamp returned as weird string

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

Bý£1€

var_dump 中识别为string(8)

该值应为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);
}

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

不是一个真正的答案,但它似乎是一个很好的解决方案;我简单地将列类型更改为CCD_ 7以存储epoch时间&它现在运行良好。如果有人知道发生了什么,我很想知道!