簡體   English   中英

如何以yyyy-MM-dd HH:mm:ss格式從Oracle數據庫檢索Date變量並以相同格式存儲在Date變量中?

[英]How to retrieve the Date variable from oracle database in yyyy-MM-dd HH:mm:ss format and store in Date variable in the same format?

我想從oracle數據庫檢索Date對象並將其以相同格式存儲在Java中的Date變量中嗎?

PS; 變量的數據類型應僅為Date,但必須采用yyyy-MM-dd HH:mm:ss格式。

Date類將內部日期存儲為長整數。 如果要將其轉換為字符串,可以使用DateFormat

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateFormatted = df.format(new Date());
Date date = df.parse(dateFormatted);

如果數據庫設置正確,則應該可以簡單地將date列檢索到date變量中。 格式化注意事項應在數據庫訪問級別不適用; 它們應該不是問題。

格式化是您執行的操作,以便向用戶顯示日期。

格式化也是各種工具用來向您顯示數據庫的內容或日期對象的內容的方式,因此這可能會引起一些混亂,因為它可能使您相信date列具有某種格式,或者您的日期變量具有某種格式。 但是他們沒有。

當在數據庫級別執行錯誤操作時,問題就開始了。 如果數據庫列實際上不是臨時數據類型,而是CHAR類型,那么格式化當然會起作用。 但是然后我們不是在談論“從oracle數據庫中檢索日期對象”,而是在談論從數據庫中檢索字符串並將其轉換為日期。 但是,您沒有告訴我們有關表結構的任何信息,因此我們無法對此進行推測。

因此,有了您提供的信息,正確的答案就是“僅將date列提取到date變量中”。 如果您需要其他答案,請提供更多信息。

根據注釋,您可能需要創建一個CustomDate類,以指定格式打印值:

public class CustomDate extends Date{
    private static final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    @Override
    public String toString() {
        return df.format(this);
    }

}

與其創建Date實例,不如嘗試使用CustomDate。 它在您的代碼中是等效的。

暫無
暫無

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

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