当我通过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时间&它现在运行良好。如果有人知道发生了什么,我很想知道!