きちんと2006年○月○日と表示できる書き方を教えて下さい。
現在使用しているものは、IEでは問題ないのですが、FireFoxでみると、106年○月○日となってしまいます。
↓
>||
<SCRIPT language="JavaScript">
<!--
LA=new Date(document.lastModified);
NAvi=navigator.appVersion.indexOf("(",0);
NAv=navigator.appVersion.substring(NAvi+1,NAvi+5);
NA=navigator.appName;
MNA=navigator.appName+navigator.appVersion.substring(0,1)+NAv;
Ms="最終更新日:";
if(MNA=="Microsoft Internet Explorer4comp"||NA=="Netscape"){
Ye=LA.getYear();
Mo=LA.getMonth()+1;
Da=LA.getDate();
Day=LA.getDay();
Days=new Array(7);
Days[0]="日";Days[1]="月";Days[2]="火";Days[3]="水";
Days[4]="木";Days[5]="金";Days[6]="土";
document.write(Ms+Ye+"年 "+Mo+"月 "+Da+"日 ("+Days[Day]+") ");
}
else if(MNA=="Microsoft Internet Explorer2comp"){
LE=document.lastModified.length;
Ye=document.lastModified.substring(LE-4,LE);
Mo=document.lastModified.substring(LE-19,LE-17);
Da=document.lastModified.substring(LE-17,LE-14);
Day=document.lastModified.charAt(0);
document.write(Ms+Ye+"年 "+Mo+"月 "+Da+"日 ("+Day+") ");
}
else{
document.write(Ms+document.lastModified);
}
//-->
</SCRIPT>
||<
宜しくお願い致します。
getYear() は西暦を返すか、1900年からの経過年数を返す仕様になっていますが、どのブラウザがその仕様であるかはまちまちであるようです。
それを判定で、処理するのは大変なようです。
古いブラウザ(IE3等)では使えないようですが、4桁の年数を返すgetFullYear()がありますので、これを使ってはどうでしょうか。
if(MNA=="Microsoft Internet Explorer4comp"||NA=="Netscape"){ Ye=LA.getFullYear(); Mo=LA.getMonth()+1; Da=LA.getDate(); Day=LA.getDay(); Days=new Array("日","月","火","水","木","金","土"); document.write(Ms+Ye+"年 "+Mo+"月 "+Da+"日 ("+Days[Day]+") "); }
ちなみに配列は、上記のように初期化できます。
御参考までに。
getYear() は User-Agent によって返す値の基準が違う(違った)のが原因です。
最近の modern な UA だけを対象にするのであれば getFullYear() を使うだけです。
lastModified = new Date(document.lastModified); lmYear = lastModified.getFullYear(); lmMonth = lastModified.getMonth() + 1; lmDate = lastModified.getDate(); lmDay = lastModified.getDay(); lmDays = new Array("日", "月", "火", "水", "木", "金", "土"); document.write("最終更新: " + lmYear + "年" + lmMonth + "月" + lmDate + "日" + lmDays[lmDay] + "曜日\n");
これだけだって動きます。 IE5 以降とか、 Netscape 6(Mozilla) なら。
返す値の違いについては以下が参考になるでしょう。
すみません。
うまくいきませんでした。
書き方がわかっていないので・・・
回答ありがとうございました。
getYear() は西暦を返すか、1900年からの経過年数を返す仕様になっていますが、どのブラウザがその仕様であるかはまちまちであるようです。
それを判定で、処理するのは大変なようです。
古いブラウザ(IE3等)では使えないようですが、4桁の年数を返すgetFullYear()がありますので、これを使ってはどうでしょうか。
if(MNA=="Microsoft Internet Explorer4comp"||NA=="Netscape"){ Ye=LA.getFullYear(); Mo=LA.getMonth()+1; Da=LA.getDate(); Day=LA.getDay(); Days=new Array("日","月","火","水","木","金","土"); document.write(Ms+Ye+"年 "+Mo+"月 "+Da+"日 ("+Days[Day]+") "); }
ちなみに配列は、上記のように初期化できます。
御参考までに。
成功しました。
わかりやすいご説明を頂きまして、ありがとうございました。
回答ありがとうございました。
成功しました。
わかりやすいご説明を頂きまして、ありがとうございました。
回答ありがとうございました。