0

ユーザーが特定の時間帯に起こっていることのリストを取得できるビューを作成したいと思います。

このリクエストを作成する最善の方法は何ですか? たとえば、現在発生しているすべてのイベントを取得したい場合は、/events/2009/09/29/8/23/ に投稿できます。

特にリクエストに複数の日付を入れたい場合は、かなり面倒です。/events/before/2009/09/29/8/23/2006/11/16/14/45/ のような URL になる可能性があります。

日付/時刻をタイムスタンプに変換し、それを int として渡す簡単な (javascipt) 方法はありますか?ビュー内で日時に変換できますか?

4

3 に答える 3

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) + '/');
于 2009-10-03T03:41:12.090 に答える
0

次のようなことができます。

var d = new Date("2009-09-30"); var タイムスタンプ = d.getTime()/1000.0;

これにより、JavaScript を使用してタイムスタンプが取得されます。

于 2009-09-30T07:05:07.677 に答える
0
  • /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 までのすべてのイベント
  • /events/2009/09/29/8/?10 -> 2009 年 8 月 29 日の 8:00 から 18:00 までのすべてのイベント
  • /events/2009/09/29/?10 -> 2009 年 8 月 29 日から 9 月 8 日までのすべてのイベント
  • /events/2009/09/?2 -> 8 月と 9 月のすべてのイベント
  • /events/2009/?2 -> 2009 年と 2010 年のすべてのイベント
于 2009-09-30T13:01:52.910 に答える