﻿var today
var yy;
var mm;
var dd;

var targetday;
var tyy;
var tmm;
var tdd;

/* 今日の情報を取得 */
today=new Date();
yy=today.getFullYear();
mm=today.getMonth();
dd=today.getDate();

/* 目的日の情報を取得 */
targetday=new Date(2012,2,9);/* ←ここが目的の日付 */
tyy=targetday.getFullYear();
tmm=targetday.getMonth();
tdd=targetday.getDate();

/* 目的の日までの年月 */
if(today<=targetday){
var diffyy=tyy-yy;
var diffmm=tmm-mm;
var diffdd=tdd-dd;
var comment1="まで";
var comment2="から";

if(diffdd<0){
diffmm=diffmm-1;
}

if(diffmm<0){
diffyy=diffyy-1;

diffmm=12+diffmm;
}

}
/* 目的の日からの経過年月 */
else{
var diffyy=yy-tyy;
var diffmm=mm-tmm;
var diffdd=dd-tdd;
var comment1="から";
var comment2="まで";


if(diffdd<0){
diffmm=diffmm-1;
}

if(diffmm<0){
diffyy=diffyy-1;
diffmm=12+diffmm;
}


};

/* 大の月小の月をアレーに読みこませる */
var daisyou=new Array(12);
daisyou[0]=31;
daisyou[1]=28;
daisyou[2]=31;
daisyou[3]=30;
daisyou[4]=31;
daisyou[5]=30;
daisyou[6]=31;
daisyou[7]=31;
daisyou[8]=30;
daisyou[9]=31;
daisyou[10]=30;
daisyou[11]=31;

/* 目的の日までの年月以外の日数 */
if(today<=targetday){
/* うるう年の判定 */
var uruudosi;
if(tyy%4==0){daisyou[1]=29;};
if(tyy%100==0){daisyou[1]=28;};
if(tyy%400==0){daisyou[1]=29;};

var bmm;
if(tmm==0){bmm=11}
else{bmm=tmm-1};
if(diffdd<0){
diffdd=daisyou[bmm]-dd+tdd;
};}
/* 目的の日からの年月以外の日数 */
else{
/* うるう年の判定 */
var uruudosi;
if(yy%4==0){daisyou[1]=29;};
if(yy%100==0){daisyou[1]=28;};
if(yy%400==0){daisyou[1]=29;};

var bmm;
if(mm==0){bmm=11}
else{bmm=mm-1};
if(diffdd<0){
diffdd=daisyou[bmm]-tdd+dd;
};}

mm=mm+1;/* 月の表示が一ずれているのを補正 */
tmm=tmm+1;/* 月の表示が一ずれているのを補正 */
document.write("D"+diffdd+"m"+diffmm+"y"+diffyy);
