我正在创建一个java插件,用于将数据从cassandra数据库移动到弹性搜索。我得到的所有数据,但我从数据库获得的日期是人类可读的形式,即Row [Fri Jul 25 11:36:10 IST 2014]。我希望将其转换为epoch时间戳格式,如1414386721。 / p>
答案 0 :(得分:0)
我不知道Cassandra DB,但是根据这个文档,你的驱动程序应该将Cassandra中的日期时间值转换为Java中的java.util.Date对象。
您可能对java.util.Date对象的工作原理感到困惑。 juDate类在许多方面令人困惑和困难,其中之一是当Date没有时区时,其toString
实现在运行时应用JVM当前的默认时区,因为它生成字符串。 / p>
您可能也是日期工作的新手,因此会将日期时间对象与其String表示混淆。请考虑1.4
是一个数字,不应将其表示形式与价格€1.40
格式的字符串混淆。同样,日期时间对象不是String,但可以表示为生成任意数量格式的String。
最后,如果您确实获得了java.util.Date对象,请学习将其转换为Joda-Time库或java.time库。 java.util.Date和.Calendar类非常麻烦。