Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串转换为sql日期更改原始值_Java_Sql - Fatal编程技术网

Java 将字符串转换为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

我在将字符串转换为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 = 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;
    }