将日期/时间发布到django视图的最佳方式是什么?

时间:2009-09-30 00:25:43

标签: javascript django django-views

我想构建一个视图,允许用户获取一定时间内发生的事情列表。

构建此请求的最佳方法是什么?例如。如果我想获得正在发生的所有事件,我可以发布到/ events / 2009/09/29/8/23 /

这似乎相当乏味,特别是如果我想在请求中有多个日期。我最终可能会看到/ events /之间的事件/ 2009 / 09/29/8/23/2006/11/16/14/45 /

是否有一种简单的(javascipt)方法将日期/时间转换为时间戳并将其作为int传递,然后我可以将其转换为视图内的日期时间?

3 个答案:

答案 0 :(得分:1)

我使用更易读的URL结构:

/events/2009-09-29/0823/
/events/2009-09-29/0823/to/2009-10-10/2100/

以下是构建此结构的一些基本Javascript:

function pad(number) {
    return (number < 10 ? '0' : '') + number
}
function simpleDate(date) {
    return date.getUTCFullYear() + '-' + pad(date.getUTCMonth()) + '-' + pad(date.getUTCDay())
}
function simpleTime(date) {
    return pad(d.getUTCHours()) + pad(d.getUTCMinutes())
}
var d = new Date();
alert('/events/' + simpleDate(d) + '/' + simpleTime(d) + '/');

答案 1 :(得分:0)

你可以这样做:

var d = new Date(“2009-09-30”); var timestamp = d.getTime()/ 1000.0;

这将为您提供使用JavaScript的时间戳。

答案 2 :(得分:0)

  • / events / 2009 / - &gt; 2009年的所有活动
  • / events / 2009/09 / - &gt; 09年8月的所有活动
  • / events / 2009/09/29 / - &gt;所有活动于09年8月29日
  • / events / 2009/09/29/8 / - &gt;所有活动从09年8月29日8:00到8:59
  • / events / 2009/09/29/8/23 / - &gt;所有活动于09年8月29日8:23
  • / events / 2009/09/29/8/23 /?10 - &gt;所有活动从09年8月29日8:23到8:33
  • / events / 2009/09/29/8/23 /?91 - &gt;所有活动于09年8月29日8:23至9:54
  • / events / 2009/09/29/8 /?10 - &gt;所有活动于09年8月29日8:00至18:00
  • / events / 2009/09/29 /?10 - &gt;所有活动从09年8月29日至9月8日至9月
  • / events / 2009/09 /?2 - &gt;八月和九月的所有活动
  • / events / 2009 /?2 - &gt;所有2009年和2010年的活动