<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dateオブジェクト アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<atom:link href="https://nyanblog2222.com/tag/date%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://nyanblog2222.com/tag/dateオブジェクト/</link>
	<description>ちょっとしたことを調べているよ</description>
	<lastBuildDate>Thu, 01 Sep 2022 12:09:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7</generator>

<image>
	<url>https://nyanblog2222.com/wp-content/uploads/2021/09/cropped-favicon-32x32.png</url>
	<title>Dateオブジェクト アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<link>https://nyanblog2222.com/tag/dateオブジェクト/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>【JavaScript】アナログ時計の作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/1382/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1382/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 24 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Dateオブジェクト]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1382</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />こんにちは。先日JavaScriptでカウントダウンタイマーを作成してみました！詳しくはこちらをご欄ください。 今回はDateオブジェクトを使用して、アナログ時計を作成してみました。良かったら試してみてください。 目次  [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1382/">【JavaScript】アナログ時計の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。先日JavaScriptでカウントダウンタイマーを作成してみました！<br>詳しくはこちらをご欄ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/1200/" title="【JavaScript】カウントダウンタイマーの作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/69-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/69-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】カウントダウンタイマーの作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）でカウントダウンタイマーを作成しました。サンプル付きでデモもあるので分かりやすくなっています。コピペでも良いのでよかったら試してみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.08.13</div></div></div></div></a>
</div></figure>



<p>今回はDateオブジェクトを使用して、アナログ時計を作成してみました。<br>良かったら試してみてください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTML</a></li><li><a href="#toc2" tabindex="0">CSS</a></li><li><a href="#toc3" tabindex="0">JavaScript</a></li><li><a href="#toc4" tabindex="0">デモ</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTML</span></h2>



<p>まずは、HTMLからです。<br>それぞれの役割はこちらです。</p>



<p>wrapperクラス：ラッパー<br>clockクラス：時計全体<br>scaleクラス：時計のメモリの枠<br>　※ JavaScriptでそれぞれのメモリを設定します。<br>hourクラス：時針<br>minクラス：分針<br>secクラス：秒針</p>



<pre class="wp-block-code html"><code>&lt;body&gt;
    &lt;div class="wrapper"&gt;
        &lt;div class="clock"&gt;
            &lt;div class="scale"&gt;&lt;/div&gt;
            &lt;div class="hour line"&gt;&lt;/div&gt;
            &lt;div class="min line"&gt;&lt;/div&gt;
            &lt;div class="sec line"&gt;&lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSS</span></h2>



<p>こちらがスタイルの設定です。</p>



<pre class="wp-block-code css"><code>@<strong>charset</strong> "utf-8";

.wrapper {
    width: 100%;
    padding: 40px;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    flex-direction: column;
}

.clock {
    background-color: rgba(255, 243, 217, 0.2);
    border: 3px solid #C6A35B;
    width: 400px;
    height: 400px;
    position: relative;
    border-radius: 50%;
}

.clock::after {
    width: 16px;
    height: 16px;
    background: #C6A35B;
    content: "";

    position: absolute;
    top: calc(50% - 8px);
    left: calc(50% - 8px);
    border-radius: 50%;
}

.line {
    position: absolute;
    transform-origin: bottom;
}

.hour {
    width: 8px;
    height: 140px;
    background: #C6A35B;
    top: calc(50% - 140px);
    left: calc(50% - 4px);
}

.min {
    width: 4px;
    height: 180px;
    background: #C6A35B;
    top: calc(50% - 180px);
    left: calc(50% - 2px);
}

.sec {
    width: 1px;
    height: 180px;
    background: #D4BB92;
    top: calc(50% - 180px);
    left: calc(50% - 0.5px);
}

.scale {
    position: relative;
    width: 100%;
    height: 100%;
}

.scale &gt; <strong>div</strong> {
    position: absolute;
    top: 0;
    left: calc(50% - 2px);
    width: 4px;
    height: 50%;
    transform-origin: bottom;
}

.scale &gt; <strong>div</strong>::after {
    position: absolute;
    top: 0;
    content: "";
    width: 4px;
    height: 12px;
    background-color: #C6A35B;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JavaScript</span></h2>



<p>JavaScriptで針の動きと、時計のメモリを設定しています。</p>



<p>・setIntervalは1秒ごとなので1000でも良いですが、起動後に1秒待つ必要があるため、100で設定しています。<br>・針やメモリはstyle.transformでrotateを指定して角度を設定しています。<br>・window.onloadの関数内では、scaleクラスの要素の最後にdiv要素を追加しています。</p>



<pre class="wp-block-code javascript"><code>setInterval(<strong>function</strong> () {
    <em>// 時間を取得</em>
    <strong>var</strong> now = <strong>new</strong> Date();

    <em>// 針の角度</em>
    <strong>var</strong> deg_h = now.getHours() * (360 / 12) + now.getMinutes() * (360 / 12 / 60);
    <strong>var</strong> deg_m = now.getMinutes() * (360 / 60);
    <strong>var</strong> deg_s = now.getSeconds() * (360 / 60);

    <em>// それぞれの針に角度を設定</em>
    document.querySelector(".hour").style.transform = `rotate(${deg_h}deg)`;
    document.querySelector(".min").style.transform = `rotate(${deg_m}deg)`;
    document.querySelector(".sec").style.transform = `rotate(${deg_s}deg)`;
}, 100);

window.onload = <strong>function</strong> () {
    <em>// メモリを追加</em>
    <strong>for</strong> (<strong>let</strong> i = 1; i &lt;= 12; i++) {
        <em>// scaleクラスの要素の最後にdiv要素を追加</em>
        <strong>let</strong> scaleElem = document.querySelector(".scale");
        <strong>let</strong> addElem = document.createElement("div");
        scaleElem.appendChild(addElem);

        <em>// 角度をつける</em>
        document.querySelector(".scale div:nth-child(" + i + ")").style.transform = `rotate(${i * 30}deg)`;
    }
}</code></pre>



<h2 class="wp-block-heading"><span id="toc4">デモ</span></h2>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/analog_clock/" target="_blank">デモページはこちら</a></strong>です。<br>実際の時刻に合わせて時計が動いているのが分かります。</p>



<h2 class="wp-block-heading"><span id="toc5">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回はJavaScriptでアナログ時計を作成してみました。</p>



<p>Dateオブジェクト以外にも、CSSのtransformの使い方やJavaScriptで要素内に要素を追加する方法も中で行っているので、ぜひ試してみてください。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1382/">【JavaScript】アナログ時計の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1382/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
