#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
andSimpleDateFormat
.
Ответ №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