如果你的日期以字符串形式存储就不会有这样的问题,
Java 操作数据库是通过连接工厂实现,你提交的数据操作语句是一组字符串
而数据库又是日期类型。
若非要以日期类型存储,先观察取得的系统主机日期是否符合实际日期,
再将日期转换成数据库存储的字符串格式(例:2002-09-13或2002/09/13),
合成SQL提交语句的时候用单引号将其括起来(例:'2002-09-13'),然后提交,
再检查数据库中的日期是否正确,祝你成功
Java 操作数据库是通过连接工厂实现,你提交的数据操作语句是一组字符串
而数据库又是日期类型。
若非要以日期类型存储,先观察取得的系统主机日期是否符合实际日期,
再将日期转换成数据库存储的字符串格式(例:2002-09-13或2002/09/13),
合成SQL提交语句的时候用单引号将其括起来(例:'2002-09-13'),然后提交,
再检查数据库中的日期是否正确,祝你成功
解决方案 »
- 初学Java,希望各位大侠多多指点
- 如何控制进程Process的运行时间和内存分配????
- 窗口显示
- Applet中如何实现打开动态页面并传参数
- 用java如何获取当前客户端windows用户名
- 网页内嵌applet中弹出新窗口时的焦点问题!!
- 小小问题:Unsupported encoding:gb2312 谢谢!
- 求Eclipse插件开发的相关资料
- 问题1:我在一个类里有定义了一个类,编译总出错,而把里面的类放到外面定义,就可以.请问为啥?问题2:如何将一浮点数保留2位小数输出?
- 往myeclipse里面粘贴内容后,myeclipse就自动退出时怎么回事?
- 招聘专职java编程人员
- 怎么配置JAVA啊??
PreparedStatement带参数,然后setDate()这样传入的参数为date型,格式工作由java和数据库自己去做。
{
java.util.Date ud = new java.util.Date();
java.sql.Timestamp now = new java.sql.Timestamp(ud.getTime());
return now;
}
把这个日期插入就可以了
public static java.sql.Date getCurrentDate()
{
java.util.Date ud = new java.util.Date();
java.sql.Date now = new java.sql.Date(ud.getTime());
return now;
}
public static java.sql.Time getCurrentTime()
{
java.util.Date ud = new java.util.Date();
java.sql.Time now = new java.sql.Time(ud.getTime());
return now;
}
得到不同格式
对应prepareStatement的setTimestamp(),setDate(),setTime()方法
如果是sqlserver、sybase和mysql:insert into tablename(mydate) values ('2002-9-13'),对于系统日期看各自数据,
那样做就万事大吉了,干吗要java去做。
String currentDate = new java.sql.Date().toLocaleString();//当前时间
Statement stmt=conn.createStatement() ;
stmt.executeUpdate("insert into table(date) values('" + currentDate + "')");