确认传入的buyDate的格式是否正确
a String object representing a date in in the format "yyyy-mm-dd" 

解决方案 »

  1.   

    /** 默认日期格式 */
    public static final String FORMAT_DATE = "yyyy-MM-dd"; /** 默认时间格式 */
    public static final String FORMAT_TIME = "HH:mm:ss"; /** 默认日期时间格式 */
    public static final String FORMAT_DATETIME = "yyyy-MM-dd HH:mm:ss";         /**
     * 将字符串转换成日期格式  * 
     * @param str
     *            需要转换的字符串  * @param format
     *            相应的转换格式,如果参数为Blank则表示按常规的三种格式转换  * @return 如果不能正常转换则返回null
     */
             public static java.util.Date string2Date(String str, String format) {
    if (StringUtils.isEmpty(str)) {
    return null;
    }
    Date result = null;
    String[] formats = null;
    if (StringUtils.isEmpty(format)) {
    formats = new String[3];
    formats[0] = FORMAT_DATETIME;
    formats[1] = FORMAT_DATE;
    formats[2] = FORMAT_TIME;
    } else {
    formats = new String[4];
    formats[0] = format;
    formats[1] = FORMAT_DATETIME;
    formats[2] = FORMAT_DATE;
    formats[3] = FORMAT_TIME;
    }
    try {
    result = DateUtils.parseDate(str, formats);
    } catch (Exception ex) {
    logger.warn("日期或时间格式不正确,日期时间字符串:" + str + ", 格式:" + format); } return result;
    }

    /**
     * 将字符串转换成sql日期格式
     * 
     * @param str
     *            需要转换的字符串  * @param format
     *            相应的转换格式,如果参数为Blank则表示按常规的三种格式转换  * @return 如果不能正常转换则返回null
     */
    public static java.sql.Date string2SqlDate(String str, String format) {
    return new java.sql.Date(string2Date(str, format).getTime());
    }
      

  2.   

    你应该把时间格式化一下.要和数据库中的匹配起来。例如SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
    //数据库中的格式:yyyy.MM.dd HH:mm:ss

    Date today = new Date();//获得当前的日期

    String strDate = simpledateformat.format(today);//格式化之后调用strDate即可