Java 将字符串转换为sql日期更改原始值
我在将字符串转换为SQL日期时遇到了一个简单的问题Java 将字符串转换为sql日期更改原始值,java,sql,Java,Sql,我在将字符串转换为SQL日期时遇到了一个简单的问题 java.sql.Date sqlDate = getSqlDateFormat("2010-10-10"); 预计在H2数据库中存储2010-10-10,但它存储2009-12-27。 任何帮助都将不胜感激 public static java.sql.Date getSqlDateFormat(String dateInString) { java.util.Date date = transformFromStrin
java.sql.Date sqlDate = getSqlDateFormat("2010-10-10");
预计在H2数据库中存储2010-10-10,但它存储2009-12-27。
任何帮助都将不胜感激
public static java.sql.Date getSqlDateFormat(String dateInString) {
java.util.Date date = transformFromStringToDate(dateInString);
return convertUtilDateToSqlDate(date);
}
该方法依次调用transformFromStringToDate将输入字符串转换为java.util.Date
最后,我调用convertUtilDateToSqlDate将其存储在数据库中
public static Date convertUtilDateToSqlDate(java.util.Date date)
{
Date sqlDate = new Date(date.getTime());
return sqlDate;
}
将格式更改为yyyy-MM-dd。年份必须为小写而不是大写
如果你看到的是一周一年的文档。
y是字段年份你能解释一下为什么2010-10-10变为2009-12-27好吧,好吧,好吧,好吧,事实上,它只是做了正确的转换,y代表-周-年,而不是想要y代表-年正如javadoc所说的-周-年与周-年周期同步。第一周和最后一周(含)之间的所有周都具有相同的周-年值。因此,一周中的第一天和最后一天可能具有不同的日历年值。
public static Date convertUtilDateToSqlDate(java.util.Date date)
{
Date sqlDate = new Date(date.getTime());
return sqlDate;
}