1

私はSmartGwtを使用しており、次の行があります。

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

これは次のようなものを返します:Tue Mar 27 12:00:00 EEST 2012

DateDisplayFormat.TOUSSHORTDATE(MM / DD / YYYY形式の短い日付)のようにフォーマットする必要があります。

これに関する提案はありますか?私はいくつかのことを試しましたが、うまくいきませんでした。ありがとう。

4

3 に答える 3

3

次のように、クライアント側でDateオブジェクトをフォーマットできます。

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

PredefinedFormat列挙型には、いくつかの便利な定義済みフォーマットが含まれています。それらのどれもあなたが必要とするものに合わないならば、あなたはあなた自身を定義することができます。

于 2012-03-27T12:08:38.923 に答える
1

SimpleDateFormatを見てください。これは、元の形式の解析と2番目の形式での出力に使用できます。

編集:あなたはすでに日付を持っているようです(toStringを呼び出す前に)。それは物事を少し簡単にします。2番目の形式はとして作成できますnew SimpleDateFormat("MM/dd/yyyy")

于 2012-03-27T12:01:57.873 に答える
1

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);
于 2012-03-27T12:05:17.537 に答える