1

如何将作为日期的变量的值保存到数据库中。

我的字符串如下

爪哇

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    try {
        SimpleDateFormat parseFormatter = new SimpleDateFormat("yyyy-MM-dd");
        //SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss+hh:mm"); 
        Date date = parseFormatter.parse(mydate);

        String formattedDate = formatter.format(date);
        System.out.println("Date"+formattedDate);
      return formattedDate;  <<need to save its value to database lets say its value is 2013-03-19

我需要将其保存到其类型为日期的表格列中。

数据库

Name Type
Date date

我想我需要将字符串转换为日期,但如何?

ps.setDate(????)
4

4 回答 4

1

如果 mydate 是 yyyy-MM-dd 格式的字符串,那么您可以执行以下操作

    PreparedStatement ps = conn.prepareStatement("insert into t1 (date) values (?)");
    ps.setDate(1, java.sql.Date.valueOf(mydate));
    ps.executeUpdate();
于 2013-03-04T05:59:42.023 回答
0

在 MySql 中使用STR_TO_DATE函数

编辑

例如

INSERT INTO table (dateCol1, col2 ..)
VALUES (STR_TO_DATE('May 1, 2013','%M %d,%Y'), col2value, ...)
于 2013-03-04T05:53:21.450 回答
0

MySQL 理解日期。假设您使用的是PreparedStatement标准 JDBC stmt.setDate(n,date),其中n参数索引date是日期类型的 Java 变量。

无需进行任何字符串转换。

于 2013-03-04T05:55:27.070 回答
0

我想我需要将字符串转换为日期,但是如何?

如果你想转换StringDate,假设你String2013-03-19

String yourString = "2013-03-19";
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(yourString);

这里你String被转换成Date对象,但是如果你需要将这个特定的日期设置为另一个日期对象,那么这是不可能的,yourDateObj.setDate(date)因为在 Date 类中没有任何这样的直接方法,它将日期作为参数。

要设置特定日期,您可以使用日历,例如

Calendar yourDate = new GregorianCalendar();
yourDate.setTime(date);

否则,您也可以这样做,Date(int year, int month, int date)但现在已弃用。

或者,如果您想插入String然后# function_str-to-date 的Date列,我同意Ed Heal的回答mysql

于 2013-03-04T06:32:25.993 回答