我正在处理日期。
Datastax的CQL cassandra API Row.getDate()
返回com.datastax.driver.core.LocalDate
。
我想将API返回的com.datastax.driver.core.LocalDate
对象转换为java.util.Date
。我该怎么做呢?
LocalDate.getMillisSinceEpoch()
Javadoc表示返回自1970 GMT时间1月1日以来的毫秒数。并且,Date(long)
构造器Javadoc说分配一个Date
对象并初始化它以表示自标准基准时间(称为"epoch")以来指定的毫秒数,即1970年1月1日,00:00:00 GMT。那么,给定LocalDate
ld
你应该能够做一些像
Date d = new Date(ld.getMillisSinceEpoch());
正如另一个答案所提到的,您可以使用
Date d = new Date(row.getDate().getMillisSinceEpoch());
或者你可以使用java.sql.Date.valueOf
Date d = java.sql.Date.valueOf(row.getDate().getString());
我个人使用row.getTimestamp
代替row.getDate
,它返回Date对象本身
Date d = row.getTimestamp();
您可以按照以下步骤,将datastax LocalDate转换为Date:
- 使用年,月和日期从数据ax LocalDate创建LocateDate
datstax。Localdate dt = somevalue
java.time.LocalDate ld = java.time.LocalDate.of(dt.getYear(), dt.getMonth(), dt.getDay()) LocalDate上面的 - 格式,那么你将得到字符串类型的date
String dtt = ld.format(datetimeformatter . ofpattern ("dd/MM/yyyy")) - 然后使用SimpleDateFormat转换
日期tt = new SimpleDateFormat("dd/MM/yyyy").parse(dtt)
享受:)