2

我正在使用http://keith-wood.name/countdown.html。我数据库中的每个“事件”表都有一个“日期”列。date = models.DateTimeField() datetimefield( {{ event.date }}) 将返回 ' Aug. 15, 2012, 12:23 p.m.'。默认插件格式为“dHMS”。

如何让我的 django 日期正确显示在这个 jquery 插件中?或者更好。如何将我的日期时间字段变成:

 {{ 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

您可以使用“日期”过滤器(文档)将 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 日期对象定义

于 2012-10-27T01:34:00.070 回答