这是我最后通过将字符串文字(带有时间戳)转换为类型time来解决此问题的方法。
timestamp = "2017-10-09T13:25:00.000Z"
tsAfter,err = time.Parse(model.TimeLayout, timestamp)
if err != nil {
errs = append(errs, err.Error())
}
log.Printf("GET param [id = %s]", idStr)
log.Printf("GET param [after = %s]", tsAfter.String())
m := map[string]interface{}{}
query := "SELECT id, time, type, val FROM events WHERE id = ? AND time >= ?"
iterable := cql.Session.Query(query, idStr, tsAfter).Consistency(gocql.One).Iter()
for iterable.MapScan(m) {
eventList = append(eventList, model.Event{
ID: m["id"].(string),
Time: m["time"].(time.Time),
Type: m["type"].(string),
Val: m["val"].(float64),
})
m = map[string]interface{}{}
}