timestamp类型的值可以有两种:
1、64位有符号表示的毫秒数(基准时间称为新纪元的整数:1970 1月1日00:00:00 GMT)
2、如下格式的字符串(ISO 8601格式):
yyyy-mm-dd HH:mm
yyyy-mm-dd HH:mm:ss
yyyy-mm-dd HH:mmZ
yyyy-mm-dd HH:mm:ssZ
yyyy-mm-dd'T'HH:mm
yyyy-mm-dd'T'HH:mmZ
yyyy-mm-dd'T'HH:mm:ss
yyyy-mm-dd'T'HH:mm:ssZ
yyyy-mm-dd'T'HH:mm:ss.ffffffZ
yyyy-mm-dd
yyyy-mm-ddZ
其中,Z是RFC-822的4位时间区,如东八区时间:2017-10-27 12:00:00+0800
如果插入值时没有指定时区,Cassandra会根据其所在服务器的时区将时间转化成标准时间(0时区时间)。
查询的时候Cassandra会将时间戳转换成相应时区(注意你服务器的时区)的时间。
示例:
可以看到:
第1条是没有注意到用毫秒。
第2条是毫秒数,向前减了8小时。
第3条和4条都是相同的,因为我服务器默认的是东八区,如果不加时区,Cassandra会获取当前服务器时区转化成标准时间。
这3条查询的道理和插入是类似的,只不过是相反的。