重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

<meta http-equiv="content-type" charset="utf-8">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>

<HEAD>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
<TITLE>2018年まで!のカウントダウン</TITLE>

</HEAD>

<BODY>

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
<!--
var s_Year=2018;
var s_Mon=1;
var s_Day=1;
var s_Hour=0;
var s_Min=0;
var s_Sec=0;
document.write(s_Year+"年"+s_Mon+"月"+s_Day+"日"+s_Hour+"時"+s_Min+"秒"+s_Sec+"まで、あと");
document.write("<FORM NAME='clock'><INPUT TYPE='text' NAME='clock_box' SIZE=20>秒</FORM>");
ClockDisplay();

function ClockDisplay(){
var d_Now = new Date();
var d_Time = d_Now.getTime();
var s_Now = new Date();
var s_Time

s_Now.setYear(s_Year);
s_Now.setMonth(s_Mon-1);
s_Now.setDate(s_Day);
s_Now.setHours(s_Hour);
s_Now.setMinutes(s_Min);
s_Now.setSeconds(s_Sec);
s_Time=s_Now.getTime();

document.clock.clock_box.value = Math.round((s_Time-d_Time)/1000);
setTimeout("ClockDisplay()",1000)
}
// -->
</SCRIPT>

</BODY>
</HTML>



これを表示のところを
2018年1月1日0時0秒0まで、あと◯日◯時間◯
秒にできますか?

質問者からの補足コメント

  • すいません書きミスです!

      補足日時:2018/01/02 17:14

A 回答 (1件)

こんにちは



今確認できる環境がないのですが、回答が無いみたいなので・・・

ご質問に直接関係はありませんが、表示がなぜ
 ◯日◯時間◯秒 (基準日時も同様)
のように「分」を除いているのでしょうか?
(計算では分も求めているようですが…)

>あと◯日◯時間◯秒にできますか?
ご提示の計算では、
 Math.round((s_Time-d_Time)/1000)
で、差分を秒単位で得ていますので、この値を利用してそれぞれの値(日、時間、分、秒)を求めれば良いのではないでしょうか。

例えば、時間数を求めることを考えてみるなら、秒単位を時間単位に換算するには、1時間(=60×60秒)で除算して整数化(切捨て)すれば時間数が求められます。
結果が24時間より大きな可能性があるので、これを24で割った除余が求める時間数になります。
他の数値についても同様の考え方で求められるはずです。
具体的な記述法については、Math.floor(切捨て)や %演算などを調べてみてください。

ついでですが、ご提示のスクリプトでは設定日時を過ぎても処理が継続されるので、マイナスのカウントアップになると想像しますが、そういう意図なのでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!