以 "yyyy-mm-dd" 格式创建变量 Date



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

我的桌子:

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) ?

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

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

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

您必须创建一个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");

在数据库中,该字段是一个日期字段,因此您必须将数据转换String保存到Date或直接保存Date

请注意,格式将应用于DateString表示

形式

最新更新