RESTful GET资源应该如何接受日期时间参数

How should a RESTful GET resource accept a date-time argument?

本文关键字:何接受 日期 时间 参数 GET 资源 RESTful      更新时间:2023-09-26

可能的重复项:
是否有可以在 URL 上传递的标准日期/时间格式?

RESTful 资源接受日期时间对象的好方法是什么?具体来说,我不确定在 URL 中将日期和时间表示为查询参数的好方法是什么。

我想做这样的事情:

GET /Calls?start=YYYY-MM-DD_HH:MM:SS

我在客户端上使用Javascript/jQuery,在后端使用Python,所以理想情况下,它是一种可以很容易地用Javascript编写并在Python中读取的格式。

谢谢!

使用 ISO 8601 标准将时间参数编码为字符串。它对人类来说是可读的,并得到多种语言的大量库的支持。

我建议不要使用Unix时间。当系统管理员被要求抓取或解析您的 Web 服务器日志以进行 API 调用时,他们会感谢您。使用ISO 8601将避免他们必须在该过程中构建第二个步骤,将Unix时间数字转换为实际人类必须理解的东西。

大多数日期时间库(绝对是 Python 和 JS)都遵循相同的格式化方法,即格式字符串。我会选择任何只使用数字并使用大小降序的,即 YYYYMMDDhhmmss。

在跳转到格式之前要考虑的另一件事是,您是否可能需要通过更类似于日期范围的内容进行参数化,以及如果包括秒、分钟、小时等可能会过度指定请求并使客户端难以找到他们正在寻找的数据。

unix time...http://en.wikipedia.org/wiki/Unix_time

为什么不直接YYYYMMDDHHMMSS呢?

只要双方都能遵循这种格式,我看不出有什么问题