Java 字符串日期转换为sql日期格式MM/dd/yyyy?
我想将字符串日期格式MM/ddd/yyy转换为sql ms access日期格式。但是我得到的输出是2006-12-10,但是输出应该是12/10/2006Java 字符串日期转换为sql日期格式MM/dd/yyyy?,java,sql,date,ms-access,jdbc,Java,Sql,Date,Ms Access,Jdbc,我想将字符串日期格式MM/ddd/yyy转换为sql ms access日期格式。但是我得到的输出是2006-12-10,但是输出应该是12/10/2006 public void setEmployeeDetails(String month,String year,String day) throws SQLException, ParseException { String sql="INSERT INTO EmployeeDetails (SiteName,Emplo
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");
}
java.sql.Date
是java.util.Date
的一个子类。因此,我们可以将java.sql.Date
的格式设置为与java.util.Date
IfSystem.out.println(sql\u-Date)相同的格式
将日期值显示为2006-12-10
这是因为它使用默认的yyyy-mm-dd
格式,无论是从Java还是从操作系统。这并不意味着日期是“错误的”,它只是以不同的方式显示
永远记住:
日期值没有格式。它们只是对应于特定日期的(数字)值
[String]日期的表示形式有一种格式。但是,格式不会以任何方式影响值。无论是2006-12-25
或12/25/2006
或2006年12月25日
或2006年12月25日
日期值仍然相同
因此,您无需担心对日期参数使用任何特定格式,只需传递值本身:
试试看(
连接conn=DriverManager.getConnection(connStr);
PreparedStatement ps=conn.prepareStatement(
“插入员工详细信息([日期])值(?)){
字符串month=“12”//
字符串year=“2006”;//示例数据
字符串day=“10”//
ps.setDate(1,java.sql.Date.valueOf(年+月+日));
ps.executeUpdate();
}
此代码只提供了MM/ddd/yyy
格式。不,它提供了如上所述的yyyy-MM-ddd格式2006-12-10我想您需要一个sql\u-date变量的格式化程序。或者最好去掉sql_date。不确定为什么要创建java.util.Date实例来创建java.sql.Date实例。您将希望在创建实例之后而不是之前格式化它。java.sql.Date
的toString()
方法始终以yyyy-mm-dd
格式输出日期。不确定是什么问题?
System.out.println(format.format(sql_date));//12/10/2006