Проблема с форматированием даты в Android - PullRequest
0 голосов
/ 04 августа 2020

У меня возникла проблема при преобразовании String в настоящее время. 27-Jul-2020 это моя строка ввода для даты.

SimpleDateFormat inputFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
Date parsedTransactionDate = inputFormat.parse(transactionDate);//transaction date is `27-Jul-2020`

Это возвращает мне вывод Sun Jul 27 00:00:00 GMT+05:30 2020. Я не могу определить проблему

1 Ответ

1 голос
/ 04 августа 2020

Если вы хотите просто свидание, то, к сожалению, java.util.Date не лучший выбор. В любом случае этот API устарел, поэтому я предлагаю перейти на java.time. Используйте java.time.LocalDate и java.time.format.DateTimeFormatter, это удобный и гибкий способ:

public static void main(String[] args) {
    // provide a formatter for parsing
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.ENGLISH);
    // parse the example String using that formatter
    LocalDate parsedTransactionDate = LocalDate.parse("27-Jul-2020", formatter);
    // print the default format of a LocalDate
    System.out.println(parsedTransactionDate);
    // or print it using the formatter defined above
    System.out.println(parsedTransactionDate.format(formatter));
    // or print it using a totally different formatter with a different locale
    System.out.println(parsedTransactionDate.format(
                DateTimeFormatter.ofPattern("EEEE, dd 'de' MMMM uuuu", Locale.FRENCH))
    );
}

на выходе будет

2020-07-27
27-Jul-2020
lundi, 27 de juillet 2020
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...