在php中新Cassandra\timestamp()生成的时间戳上添加3小时
我使用php中的在php中新Cassandra\timestamp()生成的时间戳上添加3小时,php,cassandra,datastax-php-driver,Php,Cassandra,Datastax Php Driver,我使用php中的new Cassandra\timestamp()生成了时间戳。 现在,我想使用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(?,
new Cassandra\timestamp()
生成了时间戳。
现在,我想使用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)));
$current_time=time();
if ($current_time>$deadline){echo "hello"; }
**此处“截止日期”列的数据类型设置为时间戳
我在这里面临的问题是$dt返回一个对象数据类型,所以我不能直接向它添加3个小时。
即使我能以某种方式给它增加3个小时,卡桑德拉也不接受它作为可行的输入
那么,是否可以通过这种方式将3个小时直接添加到cassandra时间戳中,或者我应该处理以字符串形式存储在DB中的时间
我的最终目的是存储一个截止日期,然后将当前时间与存储的截止日期进行比较,如果当前时间更大,则执行一些代码。
大概是这样的:
$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)));
$current_time=time();
if ($current_time>$deadline){echo "hello"; }
这应该可以完成工作
$now = time(); // get current timestamp
$new_dt = new Cassandra\Timestamp($now + (3 * 3600));
成功了,谢谢!!不过,如果您能告诉我时间戳调用中逗号后面的0是什么,那就太好了。@Zeek它是微秒级的-默认情况下它是零,您不必把它放在后面(它仍然有效),抱歉混淆了。为了清晰起见,编辑了它