2

http://keith-wood.name/countdown.htmlを使用しています。データベースの各「イベント」テーブルには「日付」列があります。date = models.DateTimeField() datetimefield( {{ event.date }}) は ' ' を返しAug. 15, 2012, 12:23 p.m.ます。デフォルトのプラグイン形式は「dHMS」です。

このjqueryプラグイン内でdjangoの日付を正しく表示するにはどうすればよいですか? またはさらに良い。datetimefield を次のようにするにはどうすればよいですか。

 {{ countdown_day }},
 {{ countdown_hour }},
 {{ countdown_min }},
 {{ countdown_sec }} ?

脚本:

(function(){
     var eventDate = '{{ event.date }}'; 
     $('#defaultCountdown').countdown({until: eventDate});      
     $('#removeCountdown').toggle(function() { 
         $(this).text('Re-attach'); 
         $('#defaultCountdown').countdown('destroy'); 
     }, 
    function() { 
        $(this).text('Remove'); 
        $('#defaultCountdown').countdown({until: eventDate}); 
    });
})();
4

2 に答える 2

4

'date' フィルターを使用して、Python の日付を Django テンプレートにフォーマットできます (ドキュメント)。

day:     {{ countdown|date:"D" }}
hour:    {{ countdown|date:"g" }}
minute:  {{ countdown|date:"i" }}
second:  {{ countdown|date:"s" }}

日付を JavaScript の日付に変換するには、{{ countdown|date:"U" }} を使用して UNIX タイムスタンプを取得します。次のように、これから JavaScript の日付オブジェクトを作成できます。

 new Date({{ countdown|date:"U" }} / 1000);
于 2012-06-18T16:48:27.430 に答える
0

実際に正しい日付を取得するためのコードは次のとおりです。

new Date({{ countdown|date:"U" }} * 1000);

Django は秒単位で時間を返し、JS はミリ秒単位で時間を期待するためです。

Javascript Date オブジェクトの定義

于 2012-10-27T01:34:00.070 に答える