问题
I am working with dates.
Datastax's CQL cassandra API Row.getDate()
returns a com.datastax.driver.core.LocalDate
.
I want to convert the com.datastax.driver.core.LocalDate
object returned by the API to java.util.Date
. How can I do that?
回答1:
The LocalDate.getMillisSinceEpoch() Javadoc says Returns the number of milliseconds since January 1st, 1970 GMT. And, the Date(long) constructor Javadoc says Allocates a Date
object and initializes it to represent the specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT. So, given a LocalDate
ld
you should be able to do something like
Date d = new Date(ld.getMillisSinceEpoch());
回答2:
As the other answer mentions either you can use
Date d = new Date(row.getDate().getMillisSinceEpoch());
or you can use java.sql.Date.valueOf
Date d = java.sql.Date.valueOf(row.getDate().getString());
Instead of using row.getDate
I personally use row.getTimestamp
which returns Date object itself.
Date d = row.getTimestamp();
来源:https://stackoverflow.com/questions/33295137/how-can-we-convert-com-datastax-driver-core-localdate-to-java-util-date