当我通过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);
}
答案 0 :(得分:0)
在插入数据库时检查时间戳是否正确。您应该拥有的纪元时间字符串是1387238400
答案 1 :(得分:0)
不是一个真正的答案,但它似乎是一个很好的解决方案,它会得到;我简单地将列类型更改为bigint
以存储纪元时间&现在工作正常。如果有人发现发生了什么,我很想知道!