字符串日期转换成sql日期格式MM/dd/yyyy?

Posted

技术标签:

【中文标题】字符串日期转换成sql日期格式MM/dd/yyyy?【英文标题】:String Date conversion into sql date format MM/dd/yyyy? 【发布时间】:2015-10-15 18:38:08 【问题描述】:
public void setEmployeeDetails(String month,String year,String day) throws

SQLException, ParseException


        String sql="INSERT INTO EmployeeDetails (SiteName,EmployeeName,EmployeePhoneNumber,Date) VALUES(?,?,?,?)"; 
          pStmt = conn.prepareStatement(sql) ;

             String date=month+"/"+day+"/"+year;
             SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
             java.util.Date parsed = format.parse(date);
             java.sql.Date sql_date = new java.sql.Date(parsed.getTime());
             System.out.println(sql_date);
         
    public static void main(String args[]) throws SQLException, ClassNotFoundException, ParseException
        Employee_Details_DAO e=new Employee_Details_DAO();
        e.setEmployeeDetails("12","2006","10");
    

我想将格式为 MM/ddd/yyy 的字符串日期转换为 sql ms 访问日期格式。但我得到的输出是 2006-12-10 但输出应该是 12/10/2006

【问题讨论】:

此代码仅提供MM/ddd/yyy 格式。 不,它给出了上面提到的 yyyy-MM-ddd 格式 2006-12-10 我认为您需要 sql_date 变量的格式化程序。或者甚至更好地摆脱 sql_date。不知道为什么要创建 java.util.Date 的实例来创建 java.sql.Date 的实例。您需要在创建实例之后格式化它,而不是之前。 java.sql.DatetoString() 方法总是以yyyy-mm-dd 格式输出日期。不确定是什么问题? 【参考方案1】:

如果System.out.println(sql_date); 将日期值显示为2006-12-10,那是因为它使用默认 yyyy-mm-dd 格式,来自Java 或操作系统。这并不意味着日期“错误”,只是显示方式不同。

永远记住:

日期没有格式。它们只是对应于特定日期的(数字)值。

[String] 表示日期确实有格式。但是,格式不影响 以任何方式。无论是2006-12-2512/25/2006December 25, 20062006 décembre 25,日期 仍然相同。

因此,您无需担心对 Date 参数使用任何特定的格式,只需传递值本身即可:

try (
        Connection conn = DriverManager.getConnection(connStr);
        PreparedStatement ps = conn.prepareStatement(
                "INSERT INTO EmployeeDetails ([Date]) VALUES (?)")) 
    String month = "12";   //
    String year = "2006";  // sample data
    String day = "10";     //
    ps.setDate(1, java.sql.Date.valueOf(year + "-" + month + "-" + day));
    ps.executeUpdate();

【讨论】:

【参考方案2】:
 System.out.println(format.format(sql_date));//12/10/2006

java.sql.Datejava.util.Date 的子类。因此我们可以将java.sql.Date 的格式与java.util.Date 相同。

【讨论】:

以上是关于字符串日期转换成sql日期格式MM/dd/yyyy?的主要内容,如果未能解决你的问题,请参考以下文章

sql怎么把字符串转换为日期格式

如何SQL把字符串转换成日期输出??

Pandas 将日期字符串从格式 mm/d/yyyy 和 mm/dd/yyyy 转换为 dd.mm.yyyy

dd/mm/yyyy 是啥日期格式?

PHP 将MM / DD / YYYY转换为SQL日期格式

将MM/DD/YYYY转换为SQL日期格式