2

我已经使用new Cassandra\Timestamp()php 生成了时间戳。现在我想使用 php 为这个生成的时间添加 2 小时,然后将其存储在数据库(Cassandra)中。

基本上我想做这样的事情:

$dt= new Cassandra\Timestamp();
$new_dt= $dt+3*3600; //here 3 is in hours

$query=$session->prepare('INSERT INTO tracker_table(id,deadline)VALUES(?,?)');
       $session->execute($query,array('arguments'=>array(new \Cassandra\Uuid(),$new_dt)));

**HERE 截止日期列的数据类型设置为时间戳。

我在这里面临的问题是 $dt 返回一个对象数据类型,所以我不能直接向它添加 3 小时。即使我能够以某种方式增加 3 个小时,cassandra 也不会接受它作为可行的输入。

那么,是否可以通过这种方式直接将 3 小时添加到 cassandra 时间戳,或者我应该处理在数据库中存储为字符串的时间。

我的结局是存储截止日期,然后将当前时间与存储的截止日期进行比较,如果当前时间大于则执行一些代码。像这样的东西:

 $current_time=time();
 if ($current_time>$deadline){echo "hello"; }
4

1 回答 1

2

这应该做的工作;

$now = time(); // get current timestamp
$new_dt = new Cassandra\Timestamp($now + (3 * 3600));
于 2020-06-10T13:48:01.143 回答