Pregunta

Me gustaría construir una visión que permite al usuario obtener una lista de las cosas que están sucediendo en torno a una hora determinada.

¿Cuál es la mejor manera de construir esta solicitud? P.ej. Si quería obtener todos los eventos que están sucediendo en este momento yo podría publicar a / eventos / 2009/09/29/8/23 /

Eso parece bastante tedioso, especialmente si desea tener varias fechas en una solicitud. Podría terminar con las direcciones URL que se parecen a / eventos / entre / 2009/09/29/8/23/2006/16/11/14/45 /

¿Hay una manera sencilla (javascipt) para convertir una fecha / hora para una marca de tiempo y pasar esa sesión como int, que luego se puede convertir en una fecha y hora dentro de la vista?

¿Fue útil?

Solución

que haría uso de una estructura de URL más fácil de leer como esto:

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

Esto es algo de JavaScript básico que muestra la construcción de esta estructura:

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) + '/');

Otros consejos

Se podría hacer algo como esto:

var d = new Date ( "2009-09-30"); var timestamp = d.getTime () / 1000,0;

Esto le dará una indicación de tiempo usando JavaScript.

  • / eventos / 2009 / -> todos los eventos en 2009
  • / eventos / 2009/09 / -> todos los eventos en ago-09
  • / eventos / 2009/09/29 / -> todos los eventos en el 29-Ago-09
  • / eventos / 2009/09/29/8 / -> todos los eventos de 8:00 a 08:59 el 29-Ago-09
  • / eventos / 2009/09/29/8/23 / -> todos los eventos a las 8:23 en el 29-Ago-09
  • / eventos / 2009/09/29/8/23/10 -> todos los eventos de 08:23 a 08:33 el 29-Ago-09
  • / eventos / 2009/09/29/8/23/91 -> todos los eventos de 08:23 a 09:54 el 29-Ago-09
  • / eventos / 2009/09/29/8/10 -> todos los eventos de 8:00 a 18:00 el 29-Ago-09
  • / eventos / 2009/09/29/10 -> todos los eventos del 29-Ago-09 a 8-Sep-09
  • / eventos / 2009/09/2 -> todos los eventos en agosto y septiembre
  • / eventos / 2009/2 -> todos los eventos de 2009 y 2010
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top