Получите локальный формат даты / времени в Java

Как насчет этого:

await Task.WhenAll(tasks1);
var gainStrings = tasks1.Select(t => t.Result).ToList();

Подождите, пока все задачи закончатся, а затем извлеките результаты. Это идеально, если вам все равно, в каком порядке они закончены.

EDIT2: Еще лучший способ:

var gainStrings = await Task.WhenAll(tasks1);
4
задан Abhishek Oza 17 January 2019 в 10:06
поделиться

3 ответа

Просто упомянуть: SimpleDateFormat - это старый способ форматирования дат, который, кстати, не является поточно-ориентированным. Начиная с Java 8 появились новые пакеты с именами java.time и java.time.format, и вы должны использовать их для работы с датами. Для ваших целей вы должны использовать класс ZonedDateTime Сделайте что-то вроде этого:

ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("..."));

, чтобы узнать правильный идентификатор зоны для Японии, используйте

ZoneId.getAvailableZoneIds()

Позже для форматирования Ваш Date правильно использует класс DateTimeFormatter

0
ответ дан Michael Gantman 17 January 2019 в 10:06
поделиться

Хитрость заключается в использовании java.time.format.FormatStyle.LONG :

jshell> java.time.format.DateTimeFormatter.ofLocalizedDate(java.time.format.FormatStyle.LONG).withLocale(java.util.Locale.JAPAN)
$13 ==> Localized(LONG,)

jshell> java.time.LocalDate.now().format($13)
$14 ==> "2019年1月17日"
0
ответ дан smac89 17 January 2019 в 10:06
поделиться

Это сработало для меня:

public static void main(String[] args) throws IOException {
    final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.JAPAN);
    Date today = new Date();
    System.out.printf("%s%n", dateFormat.format(today));
}

и MEDIUM действовали именно так, как вы сказали

UPD: или использовали более новый ZonedDataTime , как предложил Майкл Гантман: 116]

public static void main(String[] args) throws IOException {
    ZonedDateTime zoned = ZonedDateTime.now();
    DateTimeFormatter pattern = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(Locale.JAPAN);
    System.out.println(zoned.format(pattern));
}
0
ответ дан Akceptor 17 January 2019 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: