Преобразование даты и времени в формат отметки времени java "2019-02-21T14: 10: 18.161 + 0000" - PullRequest
0 голосов
/ 22 апреля 2019

Мне нужно преобразовать это время и дату в этот формат отметки времени:
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);

Ответы [ 3 ]

0 голосов
/ 22 апреля 2019

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

0 голосов
/ 22 апреля 2019

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

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 голосов
/ 22 апреля 2019

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

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

Для шаблона.

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

String str = "2019/04/22 10:04:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
...