2

私はJavaScriptに少し慣れていませんが、基本的な理解はあります。日付と時刻を受け入れるカウントダウンタイマーを作成したいのですが、どこからどのように開始すればよいかわかりません。

カウントダウンタイマーを次のようにします:http ://www.timeanddate.com/clocks/freecountdown.html

では、うるう年とDST設定を使用して、指定されたタイムゾーン内で動作することを確認するにはどうすればよいですか?

4

3 に答える 3

1

Stackoverflowへようこそ!

すべてを提供するつもりはありませんが、(クライアントのコンピューターが間違った日付に設定されている場合でも)時間を明確に正確にしたい場合は、TimeAPIなどを使用する必要があります。

うるう年など、指定されたタイムゾーンで動作することを確認したい場合は、 Dateオブジェクトで次のトリックを実行する必要があります。

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;

DSTを処理するには、より複雑ですが、一般的なコンセンサスは、DateオブジェクトのUTCメソッドを使用することです。

 var d=Date.UTC(2012,02,30);

これにより、タイムゾーンの境界を越えないようになります。SOにはこれに似た質問がいくつかありますので、お気軽に検索してください。

于 2013-03-15T00:34:21.030 に答える
0

率直に言って、JavaScript をもっと勉強する必要があります。

チェックアウト:

基本的に、関数を使用して日付のさまざまな時間部分を設定します。次に、現在の日付と目的の終了日の差を計算します (ミリ秒の差を取得してから、残り時間を表示する時間文字列を計算します)。

実際のコードを作成したら、それで質問を更新してください。さらにお手伝いできる場合があります。

于 2013-03-15T01:03:27.137 に答える
0

これは実際には高度ではありませんが、良いスタートです。例では、2015 年まであと何日、何時間、何分あるかを出力します。

// NewYearCalculator
// Written by Riku Viitanen
// 2014

today = new Date();

BigDay = new Date("1, 1, 2015");
msPerDay = 24 * 60 * 60 * 1000 ;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
e_hrsLeft = (e_daysLeft - daysLeft)*24;
hrsLeft = Math.floor(e_hrsLeft);
minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60);

document.write("Only  " + daysLeft + " days,  " + hrsLeft +" hours and " + minsLeft + " minutes left to year 2015!");

下手な英語で申し訳ありません:3

于 2014-03-20T15:52:49.017 に答える