timestamp类型的值可以有两种:

1、64位有符号表示的毫秒数(基准时间称为新纪元的整数:1970 1月1日00:00:00 GMT)

2、如下格式的字符串(ISO 8601格式):

 

 
  1. yyyy-mm-dd HH:mm

  2. yyyy-mm-dd HH:mm:ss

  3. yyyy-mm-dd HH:mmZ

  4. yyyy-mm-dd HH:mm:ssZ

  5. yyyy-mm-dd'T'HH:mm

  6. yyyy-mm-dd'T'HH:mmZ

  7. yyyy-mm-dd'T'HH:mm:ss

  8. yyyy-mm-dd'T'HH:mm:ssZ

  9. yyyy-mm-dd'T'HH:mm:ss.ffffffZ

  10. yyyy-mm-dd

  11. yyyy-mm-ddZ

 

其中,Z是RFC-822的4位时间区,如东八区时间:2017-10-27 12:00:00+0800

如果插入值时没有指定时区,Cassandra会根据其所在服务器的时区将时间转化成标准时间(0时区时间)。

查询的时候Cassandra会将时间戳转换成相应时区(注意你服务器的时区)的时间。

示例:

Cassandra的timestamp类型

 

可以看到:

第1条是没有注意到用毫秒。

第2条是毫秒数,向前减了8小时。

第3条和4条都是相同的,因为我服务器默认的是东八区,如果不加时区,Cassandra会获取当前服务器时区转化成标准时间。

 

Cassandra的timestamp类型

 

这3条查询的道理和插入是类似的,只不过是相反的。

相关文章: