質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

722閲覧

JavaScriptで取得した現在時刻への加算

minozki_i

総合スコア1

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/08/11 08:00

編集2021/08/11 08:33

前提・実現したいこと

JavaScriptを使って現在時刻を表示するHTMLソースを作成しています。
取得した現在時刻に任意の時間を加算(繰り上げ)して、例えば10秒先の時間を表示したいと思っております。
JavaScriptに関する知識が浅いため、是非解決案をご教授いただけますと幸いです。よろしくお願いいたします。

発生している問題・エラーメッセージ

秒数や分数が上限(59)を超えて増えてしまう。
秒数の前に不明な数字(16286679)が表示される。

該当のソースコード

HTML

1 <p id="time"/> 2 <script language="JavaScript"> 3 const hhmiss = function() { 4 const dt = new Date(); 5 const hh = toDoubleDigits(dt.getHours()), 6 mi = toDoubleDigits(dt.getMinutes()), 7 ss = toDoubleDigits(dt.setSeconds(dt.getSeconds()+10)); 8 const element = document.getElementById("time"); 9 element.innerHTML = hh + ':' + mi +'<span>'+ ss +'</span>'; 10 }; 11 const toDoubleDigits = function(num) { 12 num += ""; 13 if (num.length === 1) { 14 num = "0" + num; 15 } 16 return num; 17 }; 18 setInterval(hhmiss, 1000); 19 20 </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkturbo

2021/08/11 08:23

> 取得した現在時刻に任意の時間を加算 ↑この部分の実装はどこですかー?
minozki_i

2021/08/11 08:37

すみません、記載したソースコードに抜けがありました。 サンプルのコードでは10秒進めたかったので以下のようにコードを書きましたが、他の方よりsetSecondsでは秒数を表示できないと伺いました。秒数を表示するにはどうすれば良いでしょうか? ss = toDoubleDigits(dt.setSeconds(dt.getSeconds()+10));
guest

回答4

0

setSecondsの返り値は秒数ではありません。1970年1月1日から現在まで何ミリ秒経過したかを返します(MDN)。

投稿2021/08/11 08:05

maisumakun

総合スコア145265

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

(都合により削除)
イメージ説明

投稿2021/08/11 09:32

編集2021/10/08 21:34
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

minozki_i

2021/08/12 02:03

dayjsというものがあるのですね、勉強になります。 とてもわかりやすく、問題も解決できました。ありがとうございます!
guest

0

「10秒後の時刻を表示」なら、こうすればいいんでは?

javascript

1const dt = new Date(); 2dt.setSeconds(dt.getSeconds()+10); 3 4console.log( 5 toDoubleDigits(dt.getHours()) + ":" + 6 toDoubleDigits(dt.getMinutes()) + ":" + 7 toDoubleDigits(dt.getSeconds()) 8);

投稿2021/08/11 09:09

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こういうことですか?

js

1 const dt = new Date(new Date()+10); 2 const hh = toDoubleDigits(dt.getHours()), 3 mi = toDoubleDigits(dt.getMinutes()), 4 ss = toDoubleDigits(dt.getSeconds());

投稿2021/08/11 08:04

Lhankor_Mhy

総合スコア36191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.45%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問