将字符串转换为sql日期,原始值会被更改

时间:2014-07-18 07:55:46

标签: java sql

将String转换为SQL日期时遇到一个简单的问题。

 java.sql.Date sqlDate = getSqlDateFormat("2010-10-10");

预计会在2010-10-10中存储H2 database,但会存储2009-12-27 任何帮助将不胜感激。

public static java.sql.Date getSqlDateFormat(String dateInString)  {
        java.util.Date date = transformFromStringToDate(dateInString);
        return convertUtilDateToSqlDate(date);
    }

该方法依次调用transformFromStringToDate()将输入String转换为java.util.Date

public static java.util.Date transformFromStringToDate(String dateInString) {
  SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd", Locale.ENGLISH);
  java.util.Date utilDate = dateFormat.parse(dateInString);
  return utilDate;
 }

最后,我正在调用convertUtilDateToSqlDate()将其存储在数据库中

public static Date convertUtilDateToSqlDate(java.util.Date date)
    {
        Date sqlDate = new Date(date.getTime());
        return sqlDate;
    }

1 个答案:

答案 0 :(得分:0)

将格式更改为yyyy-MM-dd年份必须小写y而不是大写。

如果您看到SimpleDateFormat Y的文档是Week yeary是字段Year