#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.