2009-09-30 70 views
0

我想建立一個視圖,允許用戶獲得一段時間內發生的事情列表。在django視圖中發佈日期/時間的最佳方式是什麼?

構建此請求的最佳方法是什麼?例如。如果我想要獲得所有正在發生的事件,我可以發佈到/ events/2009/09/29/8/23/

這似乎相當單調乏味,特別是如果我想在請求中包含多個日期。我可以結束與看起來像/ events/between/2009/09/29/8/23/2006/11/16/14/45/

的網址有沒有簡單的(javascipt)方法來轉換日期/時間到時間戳,並將其作爲int傳入,然後我可以將其轉換爲視圖內的日期時間?

回答

1

我d使用像這樣的更可讀的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) + '/'); 
0

你可以做這樣的事情:

變種d =新的日期( 「2009-09-30」); var timestamp = d.getTime()/ 1000.0;

這會給你一個使用JavaScript的時間戳。

0
  • /事件/ 2009/- >所有的事件在2009年
  • /事件/ 2009/09/- >所有在2009年8月
  • 事件
  • /事件/ 2009/9月29日/ - > 2009年8月29日所有事件
  • /events/2009/09/29/8/- > 2009年8月29日8點至8點59分的所有活動
  • /events/2009 2009年09月29日8:23的所有活動
  • /events/2009/09/29/8/23 /?10 - >所有來自8: 2009年8月29日23點至8點33分
  • /events/2009/09/29/8/23 /?91 - > 2009年8月29日8:23至9:54的所有活動
  • /events/2009/09/29/8/?10 - > 2009年8月29日8:00至18:00的所有活動
  • /events/2009/09/29 /?10 - > 2009年8月29日至9月8日的所有活動-09
  • /事件/ 2009/09/2 - ?>所有在八月和九月
  • 事件
  • /事件/ 2009/2? - >所有在2009年的事件和2010
相關問題