<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script> function draw(){ setInterval(Composite,1000); } function Composite(){ var canvas = document.getElementById("canvas"); if(canvas==null) return false; var context = canvas.getContext("2d"); context.clearRect(0,0,canvas.width,canvas.height); context.save(); var myDate = new Date(); var hour = myDate.getHours()>=12?myDate.getHours()-12:myDate.getHours(); var minute = myDate.getMinutes(); var second = myDate.getSeconds(); var year = myDate.getFullYear(); //獲取完整的年份(4位,1970-????) var month = myDate.getMonth()+1<10?"0"+(myDate.getMonth()+1):myDate.getMonth()+1; //獲取當前月份(0-11,0代表1月)(要加1) var date = myDate.getDate()<10?"0"+myDate.getDate():myDate.getDate(); //獲取當前日(1-31) var week = myDate.getDay(); // 獲取當前星期X(0-6,0代表星期天) switch(week){ case 0:week = "星期日";break; case 1:week = "星期一";break; case 2:week = "星期二";break; case 3:week = "星期三";break; case 4:week = "星期四";break; case 5:week = "星期五";break; case 6:week = "星期六";break; } var hour1 = myDate.getHours()<10?"0"+myDate.getHours():myDate.getHours(); //獲取當前小時數(0-23) var minute1 = myDate.getMinutes()<10?"0"+myDate.getMinutes():myDate.getMinutes(); // 獲取當前分鐘數(0-59) var second1 = myDate.getSeconds()<10?"0"+myDate.getSeconds():myDate.getSeconds(); //獲取當前秒數(0-59) var s = year+"年"+month+"月"+date+"日 "+week+hour1+":"+minute1+":"+second1; document.getElementById("tt").innerHTML = s; //設置圓形 context.beginPath(); context.fillStyle="lightblue"; context.arc(150,150,100,0,Math.PI*2,false); context.fill(); context.closePath(); //設置秒針 context.beginPath(); context.strokeStyle = "red"; context.moveTo(150,150); var secondhu = second/60*2*Math.PI; context.lineTo(Math.sin(secondhu)*90+150,-Math.cos(secondhu)*90+150); context.lineWidth="1"; context.closePath(); context.stroke(); //設置分針 context.beginPath(); context.strokeStyle = "blue"; context.moveTo(150,150); var secondhu = (minute+second/60)/60*2*Math.PI; context.lineTo(Math.sin(secondhu)*70+150,-Math.cos(secondhu)*70+150); context.lineWidth="3"; context.closePath(); context.stroke(); //設置時針 context.beginPath(); context.strokeStyle = "black"; context.moveTo(150,150); var secondhu = (hour+minute/60)/12*2*Math.PI; context.lineTo(Math.sin(secondhu)*60+150,-Math.cos(secondhu)*60+150); context.lineWidth="5"; context.closePath(); context.stroke(); //設置數字 context.font="bold 20px sans-serif"; context.fillStyle="black"; for(var i=1;i<=12;i++){ var txt = i; var txthu = i/12*2*Math.PI; context.fillText(txt,Math.sin(txthu)*85+141,-Math.cos(txthu)*85+155); } context.restore; } </script> </head> <body onLoad="draw()"> <h1>canvas元素示例</h1> <div id="tt"></div> <canvas id="canvas" width="400" height="300"/> </body> </html>