簡體   English   中英

我們如何將 com.datastax.driver.core.LocalDate 轉換為 java.util.Date?

[英]How can we convert com.datastax.driver.core.LocalDate to java.util.Date?

我正在處理日期。

Datastax 的 CQL cassandra API Row.getDate()返回一個com.datastax.driver.core.LocalDate

我想將 API 返回的com.datastax.driver.core.LocalDate對象轉換為java.util.Date 我怎樣才能做到這一點?

LocalDate.getMillisSinceEpoch() Javadoc 說返回自格林威治標准時間 1970 年 1 月 1 日以來的毫秒數。 而且, Date(long)構造函數 Javadoc 說分配一個Date對象並初始化它以表示自稱為“紀元”的標准基本時間(即 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.getDate我個人使用返回 Date 對象本身的row.getTimestamp

Date d = row.getTimestamp();

您可以按照以下步驟將 datastax LocalDate 轉換為日期:

  1. 使用 datastax LocalDate 中的年、月和日期創建 LocateDate
    datstax.Localdate dt = somevalue
    java.time.LocalDate ld = java.time.LocalDate.of(dt.getYear(), dt.getMonth(), dt.getDay())
  2. 格式高於 LocalDate 然后你會得到字符串類型的日期
    字符串 dtt = ld.format(DateTimeFormater.ofPattern("dd/MM/yyyy"))
  3. 然后使用 SimpleDateFormat 轉換
    日期 tt = new SimpleDateFormat("dd/MM/yyyy").parse(dtt)

享受 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM