1
String d=(((JTextField)dobdatetext.getDateEditor().getUiComponent()).getText());
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date fromDate = formatter.parse(d);  
java.sql.Date sqlDate = new java.sql.Date(fromDate.getTime());

我正在尝试保存 sqlDate 但在数据库中它以 yyyy/MM/dd 格式存储。请有人纠正我的错误,以便我能得到我想要的结果......

4

5 回答 5

2

如果数据库字段是类型date(或供应商支持的)而不是文本,则数据库中的格式无关紧要。格式化是为了输出。

于 2013-07-23T21:19:57.743 回答
1

实际上格式使用的是yyyy-MM-dd,只是在检索日期值时使用SimpleDateFormat将日期值格式化为所需的格式......

SimpleDateFormat dateFormat= new SimpleDateFormat("dd/MM/yyyy");
String strDate = dateFormat.format(rs.getDate("column name"));
于 2013-07-23T21:29:08.617 回答
1

您可以使用 to_date 函数:

insert into table_name(column_name)
                       values ( TO_DATE( d, 'yyyy/MM/dd' ) );
于 2013-07-23T21:33:15.033 回答
0

如果您将日期存储在文本中,SimpleDateFormat 有一个 applypattern 方法,因此您可以尝试

formatter.applypattern("yyyy/MM/dd");
sqlDate = formatter.format(/*date you want to format*/);
于 2013-07-23T21:28:50.013 回答
0

以 SQL Server 实例中配置的默认格式显示的日期格式,不取决于您在应用程序中使用的日期格式来设置它。

此外,如果您将日期存储在日期列中,格式并不重要,因为您可以以您选择的任何格式检索日期。请参阅http://www.sql-server-helper.com/tips/date-formats.aspx,了解如何检索不同日期时间格式的数据列。HTH。

于 2013-07-23T21:18:54.910 回答