<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<canvas width="500" height="500" style="background-color: black;"></canvas>
<script>
var canvas = document.querySelector('canvas');
var context = canvas.getContext("2d");
function s() {
var time = new Date();
var hour = time.getHours() > 12 ? time.getHours() - 12 : time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
var seconds = time.getMilliseconds();
var r = Math.floor(Math.random()*256);
var b = Math.floor(Math.random()*256);
var g = Math.floor(Math.random()*256);
var a = Math.random();
var x = seconds * Math.PI / 180/1000 * 6 + Math.PI / 180 * 270 +second * Math.PI / 180*6;
context.beginPath();
context.strokeStyle = "rgba("+r+","+g+","+b+","+a+")";
context.lineWidth = 20;
context.arc(250, 250, 200, Math.PI / 2 * 3, x);
context.stroke();
}
function m() {
var time = new Date();
var hour = time.getHours() > 12 ? time.getHours() - 12 : time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
var seconds = time.getMilliseconds();
var r = Math.floor(Math.random()*256);
var b = Math.floor(Math.random()*256);
var g = Math.floor(Math.random()*256);
var a = Math.random();
var x = minute * Math.PI / 160 * 6 + Math.PI / 180 * 270 + second*Math.PI/180/10;
context.beginPath();
context.strokeStyle = "rgba("+r+","+g+","+b+","+a+")";
context.lineWidth = 20;
context.arc(250, 250, 160, Math.PI / 2 * 3, x);
context.stroke();
}
function h() {
var time = new Date();
var hour = time.getHours() > 12 ? time.getHours() - 12 : time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
var r = Math.floor(Math.random()*256);
var b = Math.floor(Math.random()*256);
var g = Math.floor(Math.random()*256);
var a = Math.random();
var x = hour * Math.PI / 180 * 30 + minute * Math.PI / 180 / 2 + Math.PI / 180 * 270;
context.beginPath();
context.strokeStyle = "rgba("+r+","+g+","+b+","+a+")";
context.lineWidth = 20;
context.arc(250, 250, 120, Math.PI / 2 * 3, x);
context.stroke();
}
function data() {
context.clearRect(0,0,500,500)
var time = new Date();
var thistime = time.toLocaleString();
var hour = time.getHours() > 12 ? time.getHours() - 12 : time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
context.font = "12px 宋体";
context.fillStyle = "#fff";
context.fillText(thistime, 200, 250)
}
var timer = setInterval(function () {
data();
s();
m();
h();
}, 1)
</script>
</body>
</html>