Я пишу тесты Selenium для проверки значений в моем пользовательском интерфейсе относительно исходной системы. Я запускаю sql-запросы к исходной базе данных, чтобы получить ожидаемые результаты, затем я перехожу на страницу в пользовательском интерфейсе, чтобы подтвердить значение базы данных относительно значения, отображаемого в пользовательском интерфейсе.
Проблема в том, что я проверяю некоторые даты. База данных содержит дату в значении, например, «2017-09-18 00: 00: 00.000», тогда как пользовательский интерфейс преобразовал это значение в более удобный для чтения формат «18 сентября 2017 года».
Я не совсем уверен, с чего начать. Я начал думать о том, чтобы попытаться изменить запрос, чтобы он преобразовывал дату в тот же формат, что и мой пользовательский интерфейс, но изо всех сил пытался найти способ сделать это. Интересно, есть ли более простой способ обойти эту проблему.




Вы можете преобразовать / отформатировать значения из 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);
Попробуйте это, надеюсь, это поможет. При необходимости измените настройки, но обычно это должно быть именно так.
Требовалась небольшая настройка, но главное, что я узнал, было о SimpleDateFormat, который был именно тем, что мне было нужно. Получил удовольствие, так что большое спасибо!
Рад, что могу помочь!
из какой базы данных вы пытаетесь получить дату ..? MySQL / SQL Server / Oracle ..?