Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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
SimpleDataFormat中的Java日期模式不';不能在SQL数据库中工作_Java_Mysql_Sql_Date - Fatal编程技术网

SimpleDataFormat中的Java日期模式不';不能在SQL数据库中工作

SimpleDataFormat中的Java日期模式不';不能在SQL数据库中工作,java,mysql,sql,date,Java,Mysql,Sql,Date,我使用以下语句更改以“MM/dd/yyyy”格式存储的日期模式。在我的SQL数据库中,日期字段是“日期”类型的格式。但是,我不明白为什么在我的数据库中仍然显示“2014-02-21”的值。这对我来说似乎很奇怪,因为我已经定义了日期的模式 我感谢任何帮助,我花了一天时间在上面…仍然卡住,无法继续:( 我不知道sql server是如何处理日期的,但我假设该格式未存储在数据库中,dbms将日期对象存储为一个数字(例如,自1970年1月1日起的秒数),JVM也是,日期格式只是在屏幕上打印的一种表示形式

我使用以下语句更改以“MM/dd/yyyy”格式存储的日期模式。在我的SQL数据库中,日期字段是“日期”类型的格式。但是,我不明白为什么在我的数据库中仍然显示“2014-02-21”的值。这对我来说似乎很奇怪,因为我已经定义了日期的模式

我感谢任何帮助,我花了一天时间在上面…仍然卡住,无法继续:(


我不知道sql server是如何处理日期的,但我假设该格式未存储在数据库中,dbms将日期对象存储为一个数字(例如,自1970年1月1日起的秒数),JVM也是,日期格式只是在屏幕上打印的一种表示形式-您在数据库中看到的只是数据库客户端显示的可打印表单,而不是它在幕后的实际存储方式

将日期值转换为字符串以提交到数据库对我来说没有意义…您尝试过
timeVO.set吗_Date(cal.getTime());
还是因为方法签名(ISO 8601的Wikipedia页面)而不可能(ISO 8601)根据ISO 8601表示:Date:2014-02-17+1-是的,大多数现代RDBMS基本上做JVM做的事情,并存储自给定纪元以来的偏移量(这使得排序/搜索非常有效/简单)。这正是他的问题所在;解决方案取决于他实际寻找的内容…可能,他需要更新客户端中使用的显示格式。
日期
类型本身无法更改。尝试以基于字符的类型以给定格式存储值将在以后造成很多麻烦。
        DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
        Calendar cal = Calendar.getInstance();
        String s=dateFormat.format(cal.getTime());
        java.util.Date myDate=new java.util.Date(s);
        java.sql.Date sqlDate=new java.sql.Date(myDate.getTime());
        timeVO.set_Date(sqlDate); (store sqlDate in timeVO object- sqlDate is Date      type defined in object)