Django DateTimeField到一小时一分钟

时间:2012-06-18 16:40:40

标签: jquery python django

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

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

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

SCRIPT:

(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}); 
    });
})();

2 个答案:

答案 0 :(得分:4)

您可以使用“日期”过滤器(documentation)将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);

答案 1 :(得分:0)

实际上要获得正确的日期代码是:

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

因为Django以秒为单位返回时间,而JS预计时间以毫秒为单位。

Javascript Date object definition