0

私はGWT(2.3)にかなり慣れていないので、次の形式の整数(または文字列)を取得したいと考えています。

2012006

にフォーマットします

1206

文字列操作を使用して簡単に実行できることはわかっていますが、2012は年、006は月(6月)であるため、GWT DateTimeFormatを使用して実行しようとしていますが、ばかげた3桁の月形式に苦労しています...

plsヘルプ

./CJ

4

3 に答える 3

1

使用する

DateTimeFormat fmt = DateTimeFormat.getFormat("yyyy'0'MM");
Date date = fmt.parse("2012006");

説明した形式の文字列を日付に解析します。

使用する

DateTimeFormat out = DateTimeFormat.getFormat("yyMM");
out.format(date);

日付を目的の形式にフォーマットします。

解析に関するその他の考慮事項 ([DateTimeFormat]) 1

省略された年パターン (「yy」) を使用して日付文字列を解析する場合、パーサーは省略された年をある世紀に相対的に解釈する必要があります。これは、パーサー インスタンスが作成された時点から 80 年前から 20 年間以内になるように日付を調整することによって行われます。たとえば、"MM/dd/yy" のパターンと 1997 年 1 月 1 日に作成された DateTimeFormat オブジェクトを使用すると、文字列 "01/11/12" は 2012 年 1 月 11 日と解釈され、文字列 "05/04/ 64" は 1964 年 5 月 4 日と解釈されます。

于 2012-06-25T15:16:31.683 に答える
0

最初の 0 をリテラルとして解釈するには、引用符を使用するだけです。次のことを試してください。

DateTimeFormat.getFormat("yyyy'0'MM")
于 2012-06-25T14:11:12.157 に答える
0

これを試してみてください、あなたはあなたの望む結果を得るでしょう

public class DateWala {

    public static void main(String[] args){


        System.out.println(new SimpleDateFormat("YYMM").format(new Date()));
    }

}
于 2012-06-25T14:50:32.773 に答える