簡體   English   中英

如何從Java中的SQLite獲取日期值

[英]How to get date value from SQLite in java

我的數據庫中有一個簡單的表:

CREATE TABLE [InformacjeZDziekanatu] (
  [_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  [DataWstawienia] DATE NOT NULL, 
  [DataModyfikacji] DATE NOT NULL, 
  [Tresc] VARCHAR2 NOT NULL);

在我的應用程序中,我唯一想做的就是獲取DataWstawienia列的值。 我正在使用這樣的方法:

try {
    ResultSet result = stat.executeQuery("select * from InformacjeZDziekanatu order by _id desc limit 5");
    int id;
    Date dataWst;
    Date dataMod;
    String tresc;               

    for(int j = 0 ; j < 5 ; j++) {
            result.next();
            Object[] lista = new Object[4];
            id = result.getInt("_id");
            dataWst = result.getDate("DataWstawienia");
            dataMod = result.getDate("DataModyfikacji");
            tresc = result.getString("Tresc");
            lista[0] = id;
            lista[1] = dataWst;
            lista[2] = dataMod;
            lista[3] = tresc;
            dane[j] = lista;

    }
}

DataWstawienia列中的所有日期都是今天的日期,但是使用上述方法,我一直都得到1970-01-01的日期。

我做錯了什么?

SQLIte沒有DATE數據類型。 日期需要存儲為整數(自Unix紀元開始使用以來的秒數)或ISO 8601時間(例如2013-10-01T12:12:12)。 如果您在SQLite模式中說DATE ,則將值存儲為字符串。 dateWst的類型dateWstString解決方案確認了以下事實:您將日期存儲為字符串而不是內部日期類型。

暫無
暫無

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

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