Форматирование даты из поля - PullRequest
1 голос
/ 27 марта 2012

Я использую SmartGwt, и у меня есть следующая строка:

formItem.getForm().getField("report_date").getValue().toString();

Это возвращает что-то вроде этого: Вт 27 марта 12:00:00 EEST 2012

Дело в том, что мне нужно, чтобы он был отформатирован, как DateDisplayFormat.TOUSSHORTDATE (Короткая дата в формате MM / DD / YYYY).

Есть предложения по этому поводу? Я попробовал пару вещей, но не сработало. Спасибо.

Ответы [ 3 ]

3 голосов
/ 27 марта 2012

Вы можете отформатировать объект Date на стороне клиента следующим образом:

DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.HOUR24_MINUTE).format(myDate);

Перечисление PredefinedFormat содержит несколько полезных предопределенных форматов.Если ни один из этих вариантов вам не подходит, вы можете определить свой собственный.

1 голос
/ 27 марта 2012

Любое форматирование даты в Java см. Здесь http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

    String sff = "Tue Mar 27 12:00:00 EEST 2012";

    SimpleDateFormat dateFormat = new SimpleDateFormat(
            "EEE MMM dd hh:mm:ss Z yyyy");

    Date myDate = null;
    try {
        myDate = dateFormat.parse(sff);
    } catch (ParseException e) {
        e.printStackTrace();
    }

    SimpleDateFormat timeFormat = new SimpleDateFormat("MM/dd/yyyy");
    String finalDate = timeFormat.format(myDate);
1 голос
/ 27 марта 2012

Посмотрите на SimpleDateFormat .Это может быть использовано для анализа исходного формата, а также для вывода во втором формате.

Редактировать: кажется, у вас уже есть дата (до вызова toString).Это делает вещи немного проще.Вы можете создать второй формат как new SimpleDateFormat("MM/dd/yyyy").

...