0

J2MEで前月の日付を取得したい。

私はこのコードを見つけました:

Calendar c = Calendar.getInstance();  
c.add(Calendar.YEAR, -1); //one year back  
c.add(Calendar.MONTH, -1);// then one month  

しかし、これは J2ME ではなく Java SE で動作しています。J2ME で対応するメソッドまたはクラスを見つけるのを手伝ってくれる人がいたら教えてください。

4

1 に答える 1

5

Calendar にはメソッド add がありません。

    c.set(Calendar.MONTH, -1)

MONTH フィールドに値 -1 を設定することを意味します。あなたの解決策は

    // get current month
    int m = c.get(Calendar.MONTH);
    // decrement it
    if (--m < 0) {
        // if was january, must become december of past year
        m = 11;
        // set year to previous
        c.set(Calendar.YEAR, c.get(Calendar.YEAR) - 1);
    }
    // set new value "m" to field MONTH
    c.set(Calendar.MONTH, m);

ドキュメントについては、 http://docs.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/index.htmlを参照してください。必要なことがすべてわかっていない限り、それなしで作業するべきではありません。

于 2012-05-13T18:13:09.553 に答える