Получить текущую дату и время в нужном формате
Я хотел бы получить текущую дату в следующем формате
Вт, 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 .