如何将cassandra日期对象转换为java中的纪元时间戳

问题描述:

我正在创建一个java插件,用于将数据从cassandra数据库移动到弹性搜索。我得到的所有数据,但我从数据库中得到的日期是人类可读的形式,即行[Fri Jul 25 11:36:10 IST 2014]。我希望这将被转换为纪元时间戳格式,如1414386721.如何将cassandra日期对象转换为java中的纪元时间戳

+0

可能的重复[在java中格式化日期](http://*.com/questions/4772425/format-date-in-java) – 2014-10-27 09:22:35

我不知道Cassandra DB,但根据此文档,您的驱动程序应该将Cassandra中的日期 - 时间值转换为Java中的java.util.Date对象。

您可能会对java.util.Date对象的工作方式感到困惑。 j.u.Date类在许多方面都令人困惑和困难,其中之一就是虽然Date没有时区,但其实时实现的toString在生成字符串时应用JVM的当前默认时区。

您可能还不熟悉日期时间工作,因此会将日期时间对象与其字符串表示形式混淆。请考虑1.4是一个数字,不应将其表示形式作为字符串与价格€1.40格式混淆。同样,一个日期时间对象不是一个字符串,但可以表示为一个字符串生成任意数量的格式。

最后,如果您确实正在获取java.util.Date对象,请学习将其转换为Joda-Time库或java.time库。 java.util.Date和.Calendar类是非常麻烦的。