Чтение и запись даты и времени в файл CSV
мне нужно иметь возможность хранить текущую дату (год, месяц, день) и время (Час, Мин, сек) в CSV-файл, а затем читать их.
для создания дата Я пытался использовать
Date date = new Date();
построить текущую дату, но когда я
date.toString();
это дает мне очень элегантную строку, описывающую дату и время, которая, похоже, не может храниться в CSV-файле и быть прочитана позже. Итак, как мне написать в CSV-файл в формате, который можно прочитать потом?
кроме того, читая файл CSV, я нашел предложения, такие как
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date d = df.parse("17/02/2015 01:18:15");
возможно ли это, основываясь на формате предыдущего вывода? И какие исключения я должен поймать с этим использованием?
признателен за любую помощь. Спасибо
2 ответов
чтобы написать дату с форматом даты:
DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();
System.out.println(df.format(date));
чтобы проанализировать дату, вы используете тот же формат:
DateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = df.parse("17/02/2015 01:18:15");
в зависимости от вашего варианта использования вы также можете найти целесообразным явно установить часовой пояс (например, в UTC), чтобы получить те же результаты независимо от часового пояса / летнего времени и т. д.
df.setTimeZone(TimeZone.getTimeZone("UTC"));
в качестве альтернативы вы можете использовать базовый long
(Миллис с эпохи), что дата построена сверху из...
написать:
Date date = new Date();
System.out.println(date.getTime());
читать:
long dateValue = // As read from the file
Date date = new Date(dateValue);
лично я бы использовать DateFormat
, хотя это более многословно и больше работы, так как это сделает содержимое файла читаемым человеком.
Если вам нужна помощь в чтении / записи файлов или обработке исключений, я предлагаю вам задать отдельные вопросы.
вы можете попробовать сохранить данные как Метка Времени Unix (просто длинное число).
читать здесь чтобы выяснить, как получить метку времени unix и этой чтобы выяснить, как преобразовать его обратно в объект Date.