![TiKZ Clock](https://writelatex.s3.amazonaws.com/published_ver/19856.jpeg?X-Amz-Expires=14400&X-Amz-Date=20240630T172238Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAWJBOALPNFPV7PVH5/20240630/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=38cb3c2deeeb51989715c124cbe6f0184b06d5ead3d06e2e13c61c8e52bd970f)
TiKZ Clock
Author
Logan Weinert
Last Updated
před 3 lety
License
Creative Commons CC BY 4.0
Abstract
A clock powered by the tikz package
![TiKZ Clock](https://writelatex.s3.amazonaws.com/published_ver/19856.jpeg?X-Amz-Expires=14400&X-Amz-Date=20240630T172238Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAWJBOALPNFPV7PVH5/20240630/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=38cb3c2deeeb51989715c124cbe6f0184b06d5ead3d06e2e13c61c8e52bd970f)
\documentclass[tikz]{standalone}
\usepackage{datetime2}
\usepackage{tikz}
\usepackage{xfp}
\usepackage{ifthen}
\begin{document}
\DTMsavenow{now}
\begin{tikzpicture}[scale=1.2]
%drawing clock
\draw[fill=gray!70,draw=black] (0,0) circle (2.1);
\draw[fill=brown!30] (0,0) circle (2);
%minute markings
\foreach \i in {6,12,18,...,360}{
\draw (\i:1.92) -- (\i:2);
}
%hour markings
\foreach \j in {0,30,60,...,360}{
\draw (\j:1.4) -- (\j:2);
}
\foreach \k [count=\inc from 1] in {60,30,0,-30,-60,-90,-120,-150,-180,-210,-240, 90}{
\draw (\k:1.55) node[fill=brown!30] {\texttt{\inc}};
}
%calculating hand placements
\xdef\anglesecondhand{\fpeval{\DTMfetchsecond{now} * 6}}
\xdef\angleminutehand{\fpeval{{\DTMfetchminute{now} * 6} + {\DTMfetchsecond{now} / 10}}}
\xdef\anglehourhand{\fpeval{(\DTMfetchhour{now} * 30) + (\DTMfetchminute{now} / 2) + (\DTMfetchsecond{now} / 120)}}
%drawing AM/PM and logo
\ifthenelse{\DTMfetchhour{now}>12}{
\draw (180:0.9) node[fill=white,draw=black] {\small \texttt{PM}};
}{
\draw (180:0.9) node[fill=white,draw=black] {\small \texttt{AM}};
}
\draw (90:1.05) node[]{\it \tiny TiKZ Clock};
%drawing hands
\draw[very thick,-latex] (0:0) -- (\fpeval{(360-\angleminutehand) + 90}:1.34);
\draw[very thick,-latex] (0:0) -- (\fpeval{(360-\anglehourhand) + 90}:0.9);
\draw[thin,red,-latex] (0,0) -- (\fpeval{(360-\anglesecondhand) + 90}:1.4);
\draw[fill=black] (0,0) circle (1.3pt);
\end{tikzpicture}
\end{document}