2012-05-10 5 views
1
var austDay = new Date("May 18, 2012 00:00:00"); 
      $('#countdown').countdown({until: austDay}); 

私は何を持っていますか?私はこれを静的にしたいと思います。それは、すべてのタイムゾーンで同じカウントダウンを示していることを意味します。だからあなたのPC上であなたのタイムゾーンや日付を変更しても、それはカウントダウンに影響してはならず、それは例えば8時間のままでなければなりません。javascript/phpで静的なカウントダウン、どのように?

Javascriptがクライアント側であるため、これは不可能でしょうか?

どうすればよいですか?私は本当にそれがカウントダウンに生きて欲しいので、リフレッシュする必要はありません。たぶん私はPHPからいくつかの助けを使用することができますか?

カウントダウンが左4時間例えば同じである必要があり、それはまた、ニューヨークおよびアジアで..

+1

var austDay = new Date(Date.UTC(2012、4、18)); –

+1

GGG答えとして書く!ありがとう!!!! – Karem

答えて

2

あなたがそうのようなクライアントにサーバー時間を渡すためにPHPを使用できることを表示すべきです。

var time = new Date(<?php echo time()*1000; ?>); 
0
var austDay = new Date("May 18, 2012 00:00:00"); 

これは、ユーザーのローカルタイムゾーンに、示された日付と時刻と日付オブジェクトを作成します。 4はゼロベース月の番号(2012および18は明らかに、年と日です)され

var austDay = new Date(Date.UTC(2012, 4, 18)); 

...:UTC日付を作成するには、代わりにこのような何かを行うことができます。

あなたは表示その後の日付に必要がある場合は、例えば、代わりに自分の非UTCの対応の「UTC」機能を使用します。

console.log(austDay.toUTCString()) // "Fri, 18 May 2012 00:00:00 GMT" 

をもう一つの問題は、ユーザーが自分を変えることができるということですクロック。 「8時間放置」のようなものを提供し、絶対に確実にするには、サーバーの時刻とクライアントの時刻を比較し、それに基づいて日付を設定する必要があります。

たとえば、サーバーが明日正午に発生し、夜間に9:00になるとサーバーが認識した場合、カウントダウンは15時間後に終了します。絶対時間を渡すのではなく、カウントダウンが完了するまでの時間をクライアントに伝えることができます。

var austDay = new Date(); 
var hoursLeft = <?php echo $something ?>; 

austDay.addHours(hoursLeft); 

おそらく秒以下の代わりに、時間でそれを行うには、私は簡単にするため、ここで時間を使用したいと思います。

関連する問題