Java 使用NetBeans在SQL数据库中将日期保存为dd/MM/yyyy

Java 使用NetBeans在SQL数据库中将日期保存为dd/MM/yyyy,java,swing,Java,Swing,我试图保存sqlDate,但在数据库中它存储为yyyy/MM/dd格式。请有人纠正我的错误,以便我可以获得所需的结果…日期格式以SQL Server实例中配置的默认格式显示,而不取决于您在应用程序中使用的日期格式进行设置 此外,如果您将日期存储在日期列中,格式也无关紧要,因为您可以选择任何格式检索日期。有关如何以不同的日期时间格式检索数据列的信息,请参见。HTH.以SQL Server实例中配置的默认格式显示的日期格式,不取决于应用程序中使用的日期格式 此外,如果您将日期存储在日期列中,格式也无

我试图保存sqlDate,但在数据库中它存储为yyyy/MM/dd格式。请有人纠正我的错误,以便我可以获得所需的结果…

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


此外,如果您将日期存储在日期列中,格式也无关紧要,因为您可以选择任何格式检索日期。有关如何以不同的日期时间格式检索数据列的信息,请参见。HTH.

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


此外,如果您将日期存储在日期列中,格式也无关紧要,因为您可以选择任何格式检索日期。有关如何以不同的日期时间格式检索数据列的信息,请参见。HTH.

如果数据库字段的类型为日期(或供应商支持的任何类型),而不是文本,则数据库中的格式不相关。格式设置用于输出。

如果数据库字段的类型为日期(或供应商支持的任何类型),而不是文本,则数据库中的格式不相关。格式化是用于输出的。

如果以文本形式存储日期,SimpleDataFormat有一个applypattern方法,因此您可以尝试

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());

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

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());

事实上,格式是yyyy MM dd,在检索日期值时,只需使用SimpleDataFormat将日期值格式化为所需格式

formatter.applypattern("yyyy/MM/dd");
sqlDate = formatter.format(/*date you want to format*/);

事实上,格式是yyyy MM dd,在检索日期值时,只需使用SimpleDataFormat将日期值格式化为所需格式

formatter.applypattern("yyyy/MM/dd");
sqlDate = formatter.format(/*date you want to format*/);

您可以使用“截止日期”功能:

SimpleDateFormat dateFormat= new SimpleDateFormat("dd/MM/yyyy");
String strDate = dateFormat.format(rs.getDate("column name"));

您可以使用“截止日期”功能:

SimpleDateFormat dateFormat= new SimpleDateFormat("dd/MM/yyyy");
String strDate = dateFormat.format(rs.getDate("column name"));

你为什么要这样保存它?让系统以它想要的方式存储它,并在任何地方显示时格式化数据。更正:数据库存储
日期
,但其默认显示格式为
yyyy/MM/dd
。但是,这一点也不会困扰您,如果您想显示日期,否则您应该可以通过重新配置数据库来实现,请参见文档中的说明。哦,如果您要存储文本日期(尽管有更好的日期/日期时间列类型)。以特定于区域设置的格式显示为。。显示并属于客户端/应用程序级别。如果该程序必须在MM/dd/yyyy普遍存在的国家/地区使用,会发生什么情况?Yikes,谈谈一个数据噩梦:(我住在印度,这里所有的应用商店都是这样,其他人都可以这样做,但我的朋友和同事中确实没有人帮我把这件事说出来,所以我反复来这里寻求帮助。@sudipta.dey然后所有的(或至少那些)应用程序出错。请帮助解决此问题!数据的显示不应影响数据的存储。最佳方法是使用正确的日期/日期时间列,并在显示时在客户端对其进行格式化。失败(或在没有此类类型的SQLite等数据库中),使用可接受的文化中立格式,如ISO8601,并在显示时在客户端对其进行格式化。我根据客户端和用例/上下文(甚至按文化!)以不同的方式格式化日期,但日期都存储在数据库中!为什么需要以这种方式保存它?让系统以它想要的方式存储它,并在任何地方显示时格式化数据。更正:数据库存储一个
日期
,但其默认显示格式将是
yyyy/MM/dd
。但是,如果您愿意,这一点应该不会打扰您显示日期,否则您应该可以通过重新配置数据库来执行此操作,请参见文档中的说明。哦,如果您要存储文本日期(尽管有更好的日期/日期时间列类型),。以特定于区域设置的格式显示为..显示,属于客户端/应用程序级别。如果在MM/dd/yyyy普遍存在的国家/地区使用此程序,会发生什么情况?Yikes,谈谈数据噩梦:(我居住在印度,这里所有的应用程序商店都是这样的,其他人都可以这样做,但我的朋友和同事确实没有人帮我把这件事写出来,所以我多次来这里寻求帮助。@sudipta.dey然后所有的(或至少那些)应用程序出错。请帮助解决此问题!数据的显示不应影响数据的存储。最佳方法是使用正确的日期/日期时间列,并在显示时在客户端对其进行格式化。失败(或在没有此类类型的SQLite等数据库中),使用可接受的文化中立格式,如ISO8601,并在显示时在客户端对其进行格式化。我根据客户端和用例/上下文(甚至按文化!)以不同的方式格式化日期,但在数据库中存储的日期都是相同的!