HTML:ブラウザページで標準システム時間の表示を簡単に実現

2436 ワード

HTML JavaScriptのDateオブジェクトに適用し、「日時週」形式で出力し、年を除いて2桁(2桁前に0を補う未満)であることを要求します.最後のフルコードは以下の通りです.


    
        
            function time(){
                var date = new Date();
                var year = date.getFullYear();
                var month = date.getMonth()+1;
                var day = date.getDate();
                var week = date.getDay();
                week="  "+"       ".charAt(week);
                var hour = date.getHours();
                var minute = date.getMinutes();
                var second = date.getSeconds();
                var temp=[month,day,hour,minute,second];
                for (var i in temp) {
                    temp[i]=temp[i]<10?"0"+temp[i]:temp[i];
                }
                var currentTime = year +"-"+ temp[0] +"-"+ temp[1] +" "+ temp[2] +":"+ temp[3] +":"+ temp[4] +" "+week;
                document.getElementById("time").innerHTML = currentTime;
            }
            
            setInterval("time()",1000);
        
    
    
        
    

最適化:1.ここで、2つのビットコードを補完するのは、もともと1行の変数に3つの演算子を加えて実現されています.
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth()+1;
month = month<10?"0"+month:month;
var day = date.getDate();
day = day<10?"0"+day:day;
var week = date.getDay();
var weeks="  "+"       ".charAt(week);
var hour = date.getHours();
hour = hour<10?"0"+hour:hour;
var minute = date.getMinutes();
minute = minute<10?"0"+minute:minute;
var second = date.getSeconds();
second = second<10?"0"+second:second;
document.getElementById("time").innerHTML=year+"-"+month+"-"+day+"-"+hour+"-"+minute+"-"+second+"-"+week;

コード量を減らすために,以前に学んだ配列の変更と結びつけて改善した.
 var temp=[month,day,hour,minute,second];
 for (var i in temp) {
      temp[i]=temp[i]<10?"0"+temp[i]:temp[i];
 }
 var currentTime = year +"-"+ temp[0] +"-"+ temp[1] +" "+ temp[2] +":"+ temp[3] +":"+ temp[4] +" "+week;

2.曜日getDay()のデフォルト値は0~6であり、中国語にする数字を表示しているが、簡単に1を加えることはできない.本来は0~6を日~6に対応させるようにswitch構造であるが、このようなコード量も多く、後にcharAt()を用いて、ちょうどweek変数の値が定数となり、より簡単に曜日を表示することができる
var week="  "+"       ".charAt(week);