JSFiddle - React, Tailwind, and code Playground
CSS
#O{
font-size:10px;
line-height:5px;
letter-spacing:-1px;
font-family:courier new;
text-align:center;
}
JavaScript
(function L(){
M=Math;
p=M.PI/2;
q=p*4;
P=M.pow;
A=M.abs;
d=new Date();
m=((S=d.getMinutes())/15*p+p)%q;
h=(d.getHours()%12/3*p+S/180*p+p)%q;
s=(d.getSeconds()/15*p+p)%q;
e=40;
for(r=o='';r<81;r++){
for(c=0;c<81;){
d=M.sqrt(P(r-e,2)+P(c-e,2));
a=(M.atan2(e-r,e-c++)+q)%q;
o+='○●'[d-e>0|
(d<e*.8&A(m-a)*d<1)|
(d<e/2&A(h-a)*d<1)|
(d<e&A(s-a)*d<1)|
(e-d<5&a%p==0)];
//■□●○
}
o+='\n';
}
O.innerText=o;
setTimeout(L,9);
})()