как преобразовать дату в Java

#java #datetime #date #timestamp

#java #datetime #Дата #временная метка

Вопрос:

Я новичок в Android. Я должен преобразовать следующую дату в эту временную метку ( Wed Oct 12 14:17:42 GMT 05:30 2011 )

 Thu, 27 May 2010 12:37:27 GMT
 

Это дата, которую я получаю с сервера через заголовок. Я преобразовал его в объект String. Теперь я должен преобразовать его в формат даты, например: Wed Oct 12 14:17:42 GMT 05:30 2011

Пожалуйста, не могли бы вы помочь мне, как мне преобразовать его в ( Wed Oct 12 14:17:42 GMT 05:30 2011 ) этот формат, используя timestamp.

Ответ №1:

Взгляните на DateFormat или SimpleDateFormat , которые предоставляют parse() и format() методы. DateFormat предоставляет множество стандартных форматов, в то SimpleDateFormat время как позволяет вам предоставлять собственное форматное выражение.

Пример для вашей вводимой даты:

 //note that you need the locale as well, since the weekdays and months are written in a specific language, English in that case
SimpleDateFormat parseFormat = new SimpleDateFormat( "E, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH );
SimpleDateFormat writeFormat = new SimpleDateFormat( "E MMM dd HH:mm:ss z yyyy", Locale.ENGLISH );
writeFormat.setTimeZone( TimeZone.getTimeZone( "GMT" ) );

Date tDate = parseFormat.parse( "Wed, 12 Oct 2011 14:17:42 GMT" );

System.out.println(writeFormat.format(tDate )); //Wed Oct 12 14:17:42 GMT 2011
 

Редактировать: если вам нужен более удобный API, попробуйте JodaTime.