Преобразование даты и времени в формат отметки времени java «2019-02-21T14: 10: 18.161 + 0000»

1

Мне нужно преобразовать это время и дату в этот формат отметки времени:
2019/04/22 с 10:04:30 до 2019-02-21T14: 10: 18.161 + 0000

это мой код, он не работает, я что-то пропустил, верно?

String isoDatePattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(isoDatePattern);

Date d = null;
try {
    d = simpleDateFormat.parse("2019/04/22 10:04:30");
} 
catch (ParseException e) {
    e.printStackTrace();
}

String dateString = simpleDateFormat.format(d);
Log.e("dateString ::::> ",dateString);
Теги:
timestamp
simpledateformat

3 ответа

0
Лучший ответ

Вы пытаетесь проанализировать ввод с выходным форматом. Непроверенные:

String isoInputDatePattern = "yyyy/MM/dd HH:mm:ss";
SimpleDateFormat simpleInputDateFormat = new SimpleDateFormat(isoInputDatePattern);

String isoOutputDatePattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
SimpleDateFormat simpleOutputDateFormat = new SimpleDateFormat(isoOutputDatePattern);

Date d = null;
try {
   d = simpleInputDateFormat.parse("2019/04/22 10:04:30");
} catch (ParseException e) {
   e.printStackTrace();
}

String dateString = simpleOutputDateFormat.format(d);
Log.e("dateString ::::> ",dateString);
  • 0
    Работает, спасибо @Christian. мой вывод: E / dateString ::::>: 2019-04-22T10: 04: 30.000 + 0100
  • 0
    Эти ужасные классы даты и времени были вытеснены несколько лет назад с принятием JSR 310. Вместо этого используйте классы java.time .
0

Учитывая строку даты, которую вы пытаетесь проанализировать, вам потребуется:

String datePattern = "yyyy/MM/dd HH:mm:ss.SS";

Для шаблона.

Возможно, вам следует рассмотреть возможность использования даты и времени Java 8:

String str = "2019/04/22 10:04:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss.SS");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
  • 0
    Да, он просил не-ISO формат.
  • 0
    не уверен, что понимаю почему. Нет правила, что все форматы даты должны соответствовать ISO 8601 (возможно, это лучшая практика), но это не требования ФП.
Показать ещё 2 комментария
0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню