Java 在数据库查询中转换日期值

Java 在数据库查询中转换日期值,java,sql,selenium,automation,Java,Sql,Selenium,Automation,我正在编写Selenium测试,以根据源系统验证UI上的值。我对源数据库运行sql查询以获得预期结果,然后导航到UI上的一个页面,根据UI上显示的值断言db值 我现在的问题是,我正在核实一些日期。db以诸如“2017-09-18 00:00:00.000”之类的值保存日期,用户界面将其转换为更好的可读格式“2017年9月18日” 我不完全确定从哪里开始。我开始考虑尝试更改查询,使其将日期转换为与我的UI相同的格式,但很难找到这样做的方法。想知道是否有更简单的方法解决此问题。您可以使用以下代码将d

我正在编写Selenium测试,以根据源系统验证UI上的值。我对源数据库运行sql查询以获得预期结果,然后导航到UI上的一个页面,根据UI上显示的值断言db值

我现在的问题是,我正在核实一些日期。db以诸如“2017-09-18 00:00:00.000”之类的值保存日期,用户界面将其转换为更好的可读格式“2017年9月18日”


我不完全确定从哪里开始。我开始考虑尝试更改查询,使其将日期转换为与我的UI相同的格式,但很难找到这样做的方法。想知道是否有更简单的方法解决此问题。

您可以使用以下代码将db中的值转换/格式化为更好的格式:

java.sql.Timestamp timeStamp = new Timestamp(rs.getDate(1));
java.sql.Date date = new java.sql.Date(timeStamp.getTime()); 
System.out.println(date);

DateFormat formatter = new SimpleDateFormat("dd MMM yyyy");
formatter.format(date);
System.out.println(date);

试试这个,希望对你有所帮助。如果有必要,可以调整,但通常情况下应该是这样

您试图从哪个数据库获取日期。。?MySQL/SQL Server/Oracle..?需要稍作调整,但我想我了解到SimpleDataFormat正是我所需要的。非常感谢你的款待!很高兴我能帮忙!