创建格式为 "yyyy-mm-dd" 的变量日期

Create a variable Date in format "yyyy-mm-dd"

我正在尝试向我的 table 中插入格式为 "yyyy-mm-dd" 的日期。我的 table 有一个字段 date 类型 DATETIME,我使用 SQLite DB SYSTEM。我需要采用这种格式,所以稍后可以选择 select 日期从 - 然后。

我的table:

CREATE TABLE "IsSELECTED"(
           "date" DATETIME PRIMARY KEY  NOT NULL  DEFAULT (CURRENT_DATE) ,
           "morning" BOOL NOT NULL  DEFAULT (0) ,
           "noon" BOOL NOT NULL  DEFAULT (0) ,
           "night" BOOL NOT NULL  DEFAULT (0) 
     )

以及我要插入的方法。

        public void setTodayInfo(HttpSession session, Date date) 
            throws SQLException, ClassNotFoundException {

        System.out.println("Initialize today's info...");
        String sq = "INSERT INTO IsSELECTED (date, morning, noon, night) VALUES (?, ?, ?, ?)";

        try {       
            Class.forName(typeDB);
            c = DriverManager.getConnection(path);            
            stm = c.prepareStatement(sq);

            PreparedStatement stm = c.prepareStatement(sq);

            stm.setDate(1, date);
            stm.setBoolean(2, FALSE);
            stm.setBoolean(3, FALSE);
            stm.setBoolean(4, FALSE);

            int rowsAffected = stm.executeUpdate();

        } catch (SQLException e) { 
        System.out.println(e.getMessage());
        } finally {
        if (stm != null) {
            stm.close();
        }
        if (c != null) {
            c.close();
        }
    }          
    }

如何创建格式为 "yyyy-mm-dd" 的变量 (DATE)?

您必须创建一个 DateFormat 实例并使用它。使用 format 从日期获取字符串。使用 parse 从字符串中获取日期。 请注意,您可能需要格式 yyyy-MM-dd 而不是 yyyy-mm-dd。 MM表示月,mm表示分钟

Date now = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(df.format(now)); // Prints today date in yyyy-MM-dd format
Date firstJune = df.parse("2015-06-01");

在数据库中该字段是一个日期字段所以你必须保存数据转换StringDate或者直接保存一个Date.

注意 格式应用于 String 表示 Date

存储日期时,您无需担心日期的格式。数据库将简单地存储日期实例,您可以使用其功能之一对其进行格式化 检索时

SQL 精简日期函数:https://www.sqlite.org/lang_datefunc.html

如果您不想受限于特定数据库供应商的功能,您还可以使用 Java 使用 SimpleDateFormat 格式化检索日期:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html