日付の計算(Calendar)

記事内に広告が含まれていることがあります

日付の計算でちょっとつまづいた。

1月と10月を比較するときに、01とならないので、単純に計算させると、とてつもないことになってしまった。

計算するのにはコレが必要だった。

long n = now.getTimeInMillis()-cal.getTimeInMillis();

 

(1年以内に満期日が訪れるものを表示させるサンプル)

String Y=schedule.getDate_y();
String M=schedule.getDate_m();
String D=schedule.getDate_d();
int Yea = Integer.parseInt(Y);
int Ma = Integer.parseInt(M);
int Da = Integer.parseInt(D);

Calendar cal = Calendar.getInstance();//満期日
cal.set(Yea,Ma,Da,0,0,0);//日付セット
cal.add(Calendar.YEAR, -1);//1年前

Calendar now = Calendar.getInstance();//本日
int y = now.get( Calendar.YEAR );
int m = now.get( Calendar.MONTH ); //Calendarクラスでは1月が0なので+1する。
int d = now.get( Calendar.DATE );
now.set(y,m,d,0,0,0);//日付セット
now.add(Calendar.YEAR, 1);//1年後

long n = now.getTimeInMillis()-cal.getTimeInMillis();

if(n>0){

ListItem item = new ListItem();
System.out.println(“term”+schedule.getTerm());
String keiyaku;//契約日がブランクだったらブランク表示
if(schedule.getTimef() != null){
keiyaku=schedule.getTimef();
}else {
keiyaku=””;
}

※便利グッズ、新商品情報を継続的に発信しているのでTwitterをフォローして頂けると嬉しいです! @dekoppon
※ライターとして執筆担当したサイトと同じ画像を使用していることがあります。許可済
プログラム

コメント