如何在java中将字符串转换为日期时间

如何在java中将字符串转换为日期时间,java,sql-server,date,datetime,datepicker,Java,Sql Server,Date,Datetime,Datepicker,我正在尝试在SQLServer2005中存储日期 我在sql server中使用“datetime”数据类型 在java程序中,我将字符串作为日期传递 前 上面的代码正在运行…但我想使用字符串DateStr=“12/12/2013”; 我使用jquery datepicker将日期作为字符串传递给java函数,而不是d.getTime()bcoz。您需要使用a将字符串解析为日期,然后使用该日期 Date d = new SimpleDateFormat("dd/MM/yyyy").parse(D

我正在尝试在SQLServer2005中存储日期 我在sql server中使用“datetime”数据类型 在java程序中,我将字符串作为日期传递

上面的代码正在运行…但我想使用字符串DateStr=“12/12/2013”; 我使用jquery datepicker将日期作为字符串传递给java函数,而不是d.getTime()bcoz。您需要使用a将字符串解析为日期,然后使用该日期

Date d = new SimpleDateFormat("dd/MM/yyyy").parse(DateStr); // This throws a ParseException

// Rest everything stays pretty much the same
java.sql.Date d1 = new java.sql.Date(d.getTime());
...
您需要使用a将字符串解析为日期,然后使用该日期

Date d = new SimpleDateFormat("dd/MM/yyyy").parse(DateStr); // This throws a ParseException

// Rest everything stays pretty much the same
java.sql.Date d1 = new java.sql.Date(d.getTime());
...
输入:
12/12/2013
输出:
138678600000

输入:
12/12/2013

输出:
138678600000

首先在datetime对象中转换字符串,然后直接将d1传递给代码

String DateStr = "12/12/2013";
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy ");
DateTime dt = formatter.parseDateTime(DateStr);
String sql = "INSERT INTO info (date) VALUES ( dt )";
try {
      pstmt = con.prepareStatement(sql);
      pstmt.setDate(1, d1);
      pstmt.executeUpdate();
     } 
catch (SQLException e) {
            System.out.println("Error:" + e);
     }

首先转换日期时间对象中的字符串,然后直接将d1传递给代码

String DateStr = "12/12/2013";
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy ");
DateTime dt = formatter.parseDateTime(DateStr);
String sql = "INSERT INTO info (date) VALUES ( dt )";
try {
      pstmt = con.prepareStatement(sql);
      pstmt.setDate(1, d1);
      pstmt.executeUpdate();
     } 
catch (SQLException e) {
            System.out.println("Error:" + e);
     }

抱歉,太晚了……它存储的是当前日期,如(2013年11月28日星期四)而不是日期
DateStr
是保存日期的字符串。它有什么格式?在sql server 2005中,我使用datetime作为数据类型,并希望存储字符串DateStr=“25/11/2013”;将这样的字符串转换为datetime,但失败了抱歉,太晚了…它存储当前日期,如(2013年11月28日星期四)而不是日期
DateStr
是保存日期的字符串。它有什么格式?在sql server 2005中,我使用datetime作为数据类型,并希望存储字符串DateStr=“25/11/2013”;将该字符串转换为datetime,但未能通过X回复,但显示“java.lang.IllegalArgumentException:无效格式:“28/11/2013”太短,如果我使用pstmt.setDate(1,dt);它显示“DateTime无法转换为Date”Thanx用于回复,但显示“java.lang.IllegalArgumentException:无效格式:“28/11/2013”太短,如果我使用pstmt.setDate(1,dt);它显示了“DateTime不能转换为日期”,以及如何使用它存储在数据库中,就像您正在做的那样
java.sql.dated1=new java.sql.Date(d.getTime())我不确定,但会起作用。我刚刚为您提供了从您的
dd/MM/yyyy
获取
d.getTime()
的解决方案,您是否尝试过像
java.sql.dated1=new java.sql.Date(convertLong(“12/12/2013”)
?以及如何使用它来存储数据库,就像您正在做的
java.sql.dated1=new java.sql.Date(d.getTime())我不确定,但会起作用。我刚刚为您提供了从您的
dd/MM/yyyy
获取
d.getTime()
的解决方案,您是否尝试过像
java.sql.dated1=new java.sql.Date(convertLong(“12/12/2013”)