我需要找到一种方法将带有java.util.Date字段的记录插入到数据库中,并且我被卡住了.
有谁知道我怎么做到这一点?现在我有类似的东西.
java.util.Date myDate = new java.util.Date("01/01/2009");
sb.append("INSERT INTO USERS");
sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) ");
sb.append("VALUES ( ");
sb.append(" '" + userId + "'");
sb.append(", '" + myUser.GetFirstname() + "' ");
sb.append(", '" + myUser.GetLastname() + "' ");
sb.append(", '" + myUser.GetSex() + "' ");
sb.append(", '" + myDate + "'");
sb.append(")");
Util.executeUpdate(sb.toString());
Run Code Online (Sandbox Code Playgroud)
但是,当我运行这样的东西时,我得到错误:日期时间值的字符串表示的语法不正确.
下面是sql语句的样子:
INSERT INTO USERS (USER_ID
, FIRST_NAME
, LAST_NAME
, SEX
, CRDATE)
VALUES (
'user'
, 'FirstTest'
, 'LastTest'
, 'M'
, 'Thu Jan …Run Code Online (Sandbox Code Playgroud) 我需要能够存储没有时间组件的日期(年/月/日).这是一个日期的抽象概念,例如生日 - 我需要代表一年中的日期而不是特定的时刻.
我使用Java从一些输入文本解析日期,并需要存储在MySQL数据库中.无论数据库,应用程序或任何客户端处于什么时区,他们都应该看到相同的年/月/日.
我的应用程序将在具有与数据库服务器不同的系统时区的计算机上运行,而我无法控制.有没有人有一个优雅的解决方案,以确保我正确存储日期?
我可以想到这些解决方案,这些解决方案看起来都不是很好:
如何获取 mySQL 时间戳格式mySQLtimestamp?
long epochNow = System.currentTimeMillis()/1000;
long epochWeek = 604800;
long date7daysAgo = epochNo2013 w - epochWeek;
String mySQLtimestamp = /* 2013-09-23:50:00 */
Run Code Online (Sandbox Code Playgroud)