Получить текущую дату и время в нужном формате

Я хотел бы получить текущую дату в следующем формате

Вт, 20 авг 2014 22:51:31 GMT

Но мне трудно получить его в спецификаторе формата, например, ddmmyy. Я сомневаюсь, что указывать Tue символически, как мудро указывать GMT.

2 ответа

Решение

Изучите использование SimpleDateFormat.

Редактировать:

Похоже, вам может понадобиться строка формата "E d MMM y H:m:s z".

SimpleDateFormat format = new SimpleDateFormat("E d MMM y H:m:s z", Locale.US); String date = format.format(new Date());

java.time

Я рекомендую вам использовать *.

Ваш желаемый формат доступен прямо из коробки как DateTimeFormatter.RFC_1123_DATE_TIME.

Демо:

      import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        String strDateTime = ZonedDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.RFC_1123_DATE_TIME);
        System.out.println(strDateTime);
    }
}

Выход:

      Sun, 9 May 2021 14:36:28 GMT

Узнайте больше о современный API даты и временисовременном API даты и времени* из Trail: Date Time .


* По любой причине, если вам нужно придерживаться Java 6 или Java 7, вы можете использовать ThreeTen-Backport, который поддерживает большую часть функций java.time для Java 6 и 7. Если вы работаете над проектом Android и своим Android API уровень по-прежнему не соответствует Java-8, проверьте API-интерфейсы Java 8+, доступные через десугаринг, и Как использовать ThreeTenABP в Android Project .

Другие вопросы по тегам