gpt4 book ai didi

java - 字符串日期转换为sql日期格式MM/dd/yyyy?

转载 作者:行者123 更新时间:2023-11-30 07:52:38 25 4
gpt4 key购买 nike

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 Access 日期格式。但我得到的输出为 2006-12-10,但输出应该为 12/10/2006

最佳答案

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

永远记住:

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

日期的[String]表示确实有格式。但是,格式不会影响以任何方式值(value)。无论是 2006-12-2512/25/2006 还是 2006 年 12 月 25 日2006 年 12 月 25 日日期仍然相同。

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

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();
}

关于java - 字符串日期转换为sql日期格式MM/dd/yyyy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33156058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com