Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在django视图中发布日期/时间的最佳方式是什么?_Javascript_Django_Django Views - Fatal编程技术网

Javascript 在django视图中发布日期/时间的最佳方式是什么?

Javascript 在django视图中发布日期/时间的最佳方式是什么?,javascript,django,django-views,Javascript,Django,Django Views,我想构建一个视图,允许用户获取某个特定时间发生的事情的列表 构建此请求的最佳方式是什么?例如,如果我想获取当前正在发生的所有事件,我可以将其发布到/events/2009/09/29/8/23/ 这似乎相当乏味,尤其是如果我想在一个请求中有多个日期。我可能会得到类似于/events/between/2009/09/29/8/23/2006/11/16/14/45的URL/ 有没有一种简单的(javascipt)方法可以将日期/时间转换为时间戳并将其作为int传递,然后我可以将其转换为视图中的日期

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

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

这似乎相当乏味,尤其是如果我想在一个请求中有多个日期。我可能会得到类似于/events/between/2009/09/29/8/23/2006/11/16/14/45的URL/


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

您可以执行以下操作:

/events/2009-09-29/0823/
/events/2009-09-29/0823/to/2009-10-10/2100/
var d=新日期(“2009-09-30”); var timestamp=d.getTime()/1000.0

这将使用JavaScript获得时间戳。

  • /events/2009/->2009年的所有活动
  • /events/2009/09/->2009年8月的所有活动
  • /events/2009/09/29/->2009年8月29日的所有活动
  • /events/2009/09/29/8/->2009年8月29日8:00至8:59的所有活动
  • /events/2009/09/29/8/23/>2009年8月29日8:23的所有活动
  • /events/2009/09/29/8/23/?10->2009年8月29日8:23至8:33的所有活动
  • /events/2009/09/29/8/23/?91->2009年8月29日8:23至9:54的所有事件
  • /事件/2009/09/29/8/?10->2009年8月29日8:00至18:00的所有事件
  • /事件/2009/09/29/?10->2009年8月29日至2009年9月8日期间的所有事件
  • /events/2009/09/?2->8月和9月的所有活动
  • /事件/2009/?2->2009年和2010年的所有事件

我会使用这样一种更具可读性的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) + '/');
功能板(编号){
返回(编号<10?'0':'')+编号
}
函数simpleDate(日期){
返回日期.getUTCFullYear()+'-'+pad(date.getUTCMonth())+'-'+pad(date.getUTCDay())
}
函数simpleTime(日期){
返回pad(d.getUTCHours())+pad(d.getUTCMinutes())
}
var d=新日期();
警报('/events/'+simpleDate(d)+'/'+simpleTime(d)+'/');