我在keen-io中跟踪一个对象,该对象具有多个日期字段。我希望Keen将这些保留为DateTime字段。这样我就可以进行过滤和排序。
我正在使用地图添加添加格式为ISO-8601的日期。
Map<String, Object> o = new HashMap<String, Object>();
o.put("deliveryDate", formatDate(deliveryDate));
o.put("completionDate", formatDate(completionDate));
o.put("assignedDate", formatDate(assignedDate));
formatDate如下所示:
private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
protected String formatDate(Calendar date) {
return dateFormat.format(date.getTime());
}
当事件到达我敏锐的仪表板时,该字段始终被视为字符串而不是日期时间。
我是否缺少文档中找不到的某些步骤?除
keen.timestamp
和keen.created_at
以外的其他字段上是否有日期时间字段? 最佳答案
遗憾的是,日期时间不是当前支持的四种推断数据类型(https://keen.io/docs/api/#inferred-data-types)之一。您是正确的,目前仅keen.timestamp
和keen.created_at
支持它们。我将有关此用例的有用反馈传递给了Keen团队。
一种解决方法是将日期时间从纪元转换为秒。这不是理想的方法,但是可以工作。它具有一些逻辑,可以帮助您进行查询。当您想要显示时间时,您将需要转换回可读的字符串。
希望将来会改变!