2012-01-12 15 views
1

私はJavaScriptのカウントダウンタイマーを作成しようとしています。未来のUNIXタイムスタンプを未来に変える方法

私は、YYYY-MM-DD HH:MM:SSの形式の文字列を持っています。

これは、将来6ヵ月の間であればいつでも可能です。

今後の時間までに残っている時間を秒単位で取得する最も良い方法は何でしょうか。これはPHPで実装できます。

ありがとうございます!

答えて

1

で迅速/汚れを行くことができます。

次に、microtimeを使用して、現在のunixタイムスタンプを取得し、その違いを見つけます。これは残りのミリ秒数になりますので、1000で割って秒単位で取得してください。

http://php.net/manual/en/function.strtotime.php
http://php.net/manual/en/function.microtime.php

これは動作するはずです:あなたの助けを

$currentTime = explode(" ", microtime()); 
$currentTime = $currentTime[1]; 
$futureTime = strtotime("YYYY-MM-DD HH:MM:SS"); // insert your date here 
$timeRemaining = ($futureTime - $currentTime)/1000; 
1

どのようにこの文字列ベースのタイムスタンプを取得していますか? UNIXのタイムスタンプは、実際にはすでに「1970-01-01 00:00:00からの秒数」です。これはネイティブMySQLの日付文字列のように見えます。

MySQLから出力されている場合は、UNIX_TIMESTAMP()というUNIXスタイルのタイムスタンプに変換することができます。その後、

SELECT unix_timestamp(datetimefield) ... 

と(JSのタイムスタンプが同じエポックを持っていますが、ミリ秒単位で)1,000を掛けてJavaScriptのタイムスタンプに変換します。あなたは、PHPで立ち往生している場合は

は、あなたがPHPで日付の文字列表現を取り、UNIXタイムスタンプを返しstrtotimeを、使用することができます

$timestamp = strtotime($time_string); 
$js_timestamp = $timestamp * 1000; 
+0

おかげで、私は何をやっていることは、私は自分のサイト上で実行している競争のための締切日を設定しています。 unixタイムスタンプと同じフォーマットでmysqlテーブルに値を入力しています – user866190

+0

unixタイムスタンプは単なる数値です.1970年1月1日以降の秒数です。例えば今私が入力しているように、私のローカルマシン上ではunixタイムスタンプが1326397358です。 –

+0

@ user866190通常、数字は文字列表現ではなくデータベースに格納されます。あなたはこれを行うことができますか、レガシーコード/既存のレコードにこだわっていますか? – Matt