如何在java中将日历转换为java.sql.date?

jyztefdp  于 2021-07-07  发布在  Java
关注(0)|答案(8)|浏览(278)
Calendar cal;
String sql = "INSERT INTO ttable (dt) values (?);"
//dt is a dateTime field in ttable

PreparedStatement stmt = connection.prepareStatement(sql);

stmt = setDate(1,cal); //not working

stmt.execute();
stmt.close();

我想将cal转换为要插入表中的日期类型。

vjhs03f7

vjhs03f71#

使用 stmt.setDate(1, new java.sql.Date(cal.getTimeInMillis()))

mzaanser

mzaanser2#

有一个 getTime() 方法(不确定为什么不叫getdate)。
编辑:刚刚意识到你需要一个java.sql.date。其中一个答案是 cal.getTimeInMillis() 是你需要的。

raogr8fs

raogr8fs3#

stmt.setDate(1, new java.sql.Date(cal.getTime().getTime()));

odopli94

odopli944#

我发现这个代码是有效的:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");    
Calendar calendar = new GregorianCalendar(2013,0,31);
System.out.println(sdf.format(calendar.getTime()));

您可以在本教程中找到其余内容:
http://www.mkyong.com/java/java-date-and-calendar-examples/

tzcvj98z

tzcvj98z5#

你试过了吗 cal.getTime() ? 这将获取日期表示。
您可能还想看看javadoc。

mfpqipee

mfpqipee6#

Calendar cal = Calendar.getInstance(); //This to obtain today's date in our Calendar var.

java.sql.Date date = new Date (cal.getTimeInMillis());
wmomyfyw

wmomyfyw7#

转换很容易,设置日期和时间有点棘手。举个例子:

Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2000);
cal.set(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.HOUR_OF_DAY, 1);
cal.set(Calendar.MINUTE, 1);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
stmt.setDate(1, new java.sql.Date(cal.getTimeInMillis()));
llmtgqce

llmtgqce8#

下面是一个简单的转换方法 Calendar 价值观 Date 示例。

Calendar C = new GregorianCalendar(1993,9,21);

Date DD = C.getTime();

System.out.println(DD);

相关问题