1

私はjavascriptが初めてで、特定の日付を入力として取り、その日付から経過した時間をカウントできるカウントアップタイマーを作成しようとしていました。

現在http://keith-wood.name/countdown.htmlの jquery プラグインを使用していますが、2 つの問題があります。

1) 入力日付を関数変数として追加する方法がわかりません。このフォーラムで同様の別の質問を見つけました - Jquery Countup Timerですが、可変入力日付ではなく固定日付を使用していました。

2) 変数の入力日付が特定の形式に準拠していることを確認するにはどうすればよいですか? 現在、日付を 2010-06-17 15:12:30 としてタイムスタンプする mysql データベースから入力日付を読み取ろうとしていますが、これは jquery プラグインが読み取る日付形式ではないと思います。フォーマットが一致するようにこの日付を解析する方法はありますか?

助けてくれる人に感謝します!

スティーブ

4

3 に答える 3

1

ここに例があります。

http://jsfiddle.net/HXf5v/

Date オブジェクトをパラメーターとして受け取る JavaScript 関数を作成するだけです。

何かのようなもの:

function doDateCountUp(date){
  $('#sinceCountDown').countdown({since: date, compact:true, format: 'YOWDHMS', description: ''});    
}

または、常に jquery 関数を作成することもできます。

jQuery.fn.doDateCountUp = function(date){
    $(this).countdown({since: date, compact:true, format: 'YOWDHMS', description: ''});  
}

そして、次のようにjquery関数を呼び出すことができます:

$('#mydiv').doDateCountUp(new Date())

新しい Date() オブジェクトのフォーマットについて。あなたは見てみる必要があります:

http://www.w3schools.com/jS/js_obj_date.asp

次のような日付オブジェクトを作成できると述べています。

new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
于 2011-05-04T07:57:33.093 に答える
0

テキストボックスから日付を取得し、それを開始日として使用する例を次に示します。

入力例によるカウントアップ

javascriptは、いくつかの異なる形式の文字列を取り込むことにより、新しい日付を作成できます。これらの形式へのクイックリンクは次のとおりです。javascriptdate

于 2011-05-04T08:04:39.983 に答える
0

mysql の日付を JavaScript の日付オブジェクトに変換するには:

function mysql2jsdate(mysqlDate){
   var parts = mysqlDate.replace(/:/g, '-').replace(' ', '-').split("-");
   parts = $.map(parts, function(part){ return parseInt(part, 10) });
   return new Date(parts[0], parts[1]-1, parts[2], parts[3], parts[4], parts[5]);
}

使用例:

var jsDate = mysql2jsdate('2010-06-17 15:12:30');

これがあなたの目標を達成するのに役立つことを願っています

于 2011-05-04T07:58:02.393 に答える