-1

カレンダー インスタンスに値を渡していますが、期待どおりに動作しない理由がわかりません。特定の日付に 1 日を追加して、その日付を使用したいと考えています。

Log.v("data going to calendar==",
  "year="+Integer.parseInt(fy)+
  "month="+Integer.parseInt(fm)-1)+
  "day="+Integer.parseInt(fd)+
  "hh="+Integer.parseInt(fh)+
  "mm="+Integer.parseInt(fmn));

c.set(
  Integer.parseInt(fd),
  Integer.parseInt(fm)-1,
  Integer.parseInt(fy),
  Integer.parseInt(fh),
  Integer.parseInt(fmn));

c.add(Calendar.DAY_OF_MONTH,1);

Log.v("data coming from calendar==", 
   "year = " + c.get(Calendar.YEAR)+
   "month ="+ c.get(Calendar.MONTH)+
   "day ="+c.get(Calendar.DATE)+
   "hh="+c.get(Calendar.HOUR)+
   "mm="+c.get(Calendar.MINUTE));

出力は: data gng to calendar==year = 2013month =7day =29hh=12mm=0

カレンダーからのデータ cmng==年 = 35月 =1日 =4hh=0mm=0

コードにコメントを付けて1日を追加してそのコードを実行しますが、結果は日を除いて同じです.1日を追加すると完全に機能することを意味します ---> year = 35month =1day =3hh=0mm=0

4

2 に答える 2

0

1 日 (24 時間) を日付に追加する場合は、ミリ秒として追加します: 1 日 = 24 * 60 * 60 * 1000 ミリ秒。

Calendar c = Calendar.getInstance();
//Set calendar's fields here
long time = c.getTimeInMilliseconds();
long nextDay = time + 24 * 60 * 60 * 1000;
c.setTimeInMillis(nextDay);
于 2013-08-29T05:30:23.510 に答える