Экспорт CSV с отметкой даты в имени файла

#java #sql #oim

Вопрос:

Я написал простой SQL-запрос для извлечения нескольких столбцов из таблицы. Я создал сценарий OIM, который в настоящее время выполняет SQL-запрос и экспортирует его в CSV. Тем не менее, я ищу, чтобы добавить дату в имя файла, но не могу найти никакой подсказки.

Я использую CSVWriter.

   CSVWriter writer = new CSVWriter(new FileWriter("Path", false));
  ResultSetMetaData Mdata = rs.getMetaData();
 

Каково точное утверждение, что нужно добавить в это, чтобы получить дату в имени файла?

Ожидаемое имя файла: Filename_Date.csv

Комментарии:

1. Java !== JavaScript. Пожалуйста, применяйте теги только для того языка, который вы на самом деле используете.

2. О чем new FileWriter("Filename_Date.csv", false) это ?

Ответ №1:

Возможно, получить текущую дату в виде строки при создании пишущей машинки, а затем просто добавить ее к имени следующим образом:

 String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date(System.currentTimeMillis()));
new FileWriter("Filename_"   date   ".csv", false);
 

Вы также можете изменить формат метки времени, используя правила форматирования простого формата даты: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

Комментарии:

1. Было бы лучше использовать новый API даты/времени Java ( java.time ) вместо Date and SimpleDateFormat .

Ответ №2:

Полная отметка времени:

 String fileName = String.format("%s.csv", DateTimeFormatter.ISO_DATE_TIME.format(LocalDateTime.now()));
 

Ответ №3:

Спасибо всем за ваш ответ, наконец-то разобрались.

 String filepath = "C:\Users\Test\";
String filename = filepath   "Output_"   new SimpleDateFormat("d MMMM yyyy").format(new Date())   ".csv";
CSVWriter writer = new CSVWriter(new FileWriter(filename, false));
 

Комментарии:

1. Больше не используйте SimpleDateFormat , и java.util.Date он давно устарел. Используйте более новый java.text.* API