1

0日付が1桁の場合は、日付の前にを追加したいと思います。だから私はコードを作りました:

public class Zero {

    /**
    * @param args
    */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String zero="0";
        Calendar cal = new GregorianCalendar();
        int day1 = cal.get(Calendar.DAY_OF_MONTH);
        String seven1=Integer.toString(day1);
        System.out.println(""+seven1);
        System.out.println(""+day1);
        String added=zero.concat(seven1);
        System.out.println(""+added);
        int change=Integer.parseInt(added);
        System.out.println(""+change);
    }

}

だから私が印刷するときそれは印刷しないchangeだけです。実はの代わりに作りたいです。では、印刷するにはどのような変更を行う必要がありますか?707int 07707

注意if-else-1桁または複数桁の日付のチェックについては、問題がないため、意図的に言及していません。

4

6 に答える 6

5

日付のフォーマットにはSimpleDateFormatを使用します。

あなたのパターンは になりますdd

SimpleDateFormat sdf = new SimpleDateFormat("dd");
System.out.println(sdf.format(new Date()));
于 2012-08-07T16:56:24.103 に答える
1

を使用してこれを試してくださいSimpleDateFormat

System.out.println(new SimpleDateFormat("dd").format(new Date()));
于 2012-08-07T17:10:49.850 に答える
0
public String addZero(String input) {
    if(input.length() == 1)
        return "0" + input;
    return input;
}

そのメソッドは、文字列が 1 桁の場合にのみ、文字列の先頭にゼロを追加するので、"1" を渡すと "01" を返し、"11" を渡すと "11" を返します。それがあなたの望むものだと思います。

于 2012-08-07T16:56:02.093 に答える
0

SimpleDateFormatオブジェクトの使用について考えたことはありますか? これにより、書式設定を高度に制御できます。テキストddには、ゼロが埋め込まれた日の値が表示されます。

于 2012-08-07T16:58:15.943 に答える
0

http://docs.oracle.com/javase/1.4.2/docs/api/java/text/DecimalFormat.htmlを使用してみてください

正しい使用法は、次のようなものです

int day = Calendar.Day_OF_Month;
DecimalFormat df = new DecimalFormat("00"); 
System.out.println(df.format(day)); 

また、Java の月は 0 から始まることを忘れないでください :/

于 2012-08-07T16:58:21.137 に答える
0

簡単な解決策は次のとおりです。

int change = Integer.parseInt(added);
if (change < 10) {
   System.out.println("0" + change);
} else {
   System.out.println(change);
}

ただし、より良い解決策はNumberFormat クラスを使用することです。

于 2012-08-07T16:59:48.537 に答える