问题
What would be the accepted convention for displaying a date range in a friendly URL?
For example, in a time tracking application. Instead of using the database's primary key for a specific pay period in the URL, I would like to use something more easily distinguishable to the user.
http://www.mytimesheet.com/11-1-2009-11-14-2009
http://www.mytimesheet.com/period-beginning-11-1-2009
Neither of those seem to cut it, but maybe I'm just being overly critical.
回答1:
Have you considered ISO format dates, especially in their compact form: YYYYMMDD
, then it should be possible to have:
http://example.com/dates/20091101/20091131
Specifically I don't think there is any accepted convention for this.
Edit: this is about routing as well...
回答2:
I'd say it's up to you, but I like the idea of
http://foo.com/bar/from/2008/
http://foo.com/bar/from/2008/10/
http://foo.com/bar/from/2008/10/02
Or, it can be combined with something like /between/2008/10/2009/10
and such.
回答3:
I'd either use something like:
http://www.mytimesheet.com/start/11-1-2009/end/11-14-2009
or
http://www.mytimesheet.com?start=11-1-2009&end=11-14-2009
But what daniel says, you could convert this in a post so you hide it altogether, if that is possible.
回答4:
Personally I think this is the sort of data that is best POSTed, rather than used to specify a route.
(sometimes if the solution seems broken in this way, then maybe the approach is incorrect.)
However, if you really want to specify dates, perhaps you should consider a format that is more likely to be understood in a consistent way in all cultures, such as yyyy-mmm-dd (e.g. 2009-nov-11)
来源:https://stackoverflow.com/questions/1715078/url-convention-for-date-range