如何描述(最好以符合標準的方式)JSON中的一些反覆發生但不精確的時間間隔?例如,如何描述每天可以購買的產品,但僅限於早上9點至上午11點?如何描述經常性不完整的時間間隔?
喜歡的東西
"product": { "id": 42, "purchaseInterval": ??? }
如何描述(最好以符合標準的方式)JSON中的一些反覆發生但不精確的時間間隔?例如,如何描述每天可以購買的產品,但僅限於早上9點至上午11點?如何描述經常性不完整的時間間隔?
喜歡的東西
"product": { "id": 42, "purchaseInterval": ??? }
您可以使用24 hour
格式和指定範圍內像
"product": { "id": 42, "purchaseInterval": "9:00-11:00" }
這不涉及問題的「反覆出現」部分,也不符合標準。 – pipacs
作爲frequencyUnit枚舉的可能值:年,月,周,日
我認爲你可以有一個非常標準/易於理解/完整的描述與以下JSON:
"product": {
"id": 42,
"purchaseInterval": {
"startTime": "9:00",
"endTime": "11:00",
"frequencyUnit": "weeks",
"frequencyValue": 1,
"weekdays": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
}
}
另外,考慮週日作爲另一個枚舉集合。
iCal RRULE格式是使用的東西。它可以制定幾乎每一個奇數球重複規則。每日9到11可能看起來像'RRULE:FREQ = DAILY; BYHOUR = 9,10,11'。適用的標準是RFC 2445.查看一些[實踐示例](https://docs.oracle.com/cd/B28359_01/server.111/b28310/scheduse004.htm#ADMIN12415),[spec](https ://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html)和[方便的幫助頁面](https://www.kanzaki.com/docs/ical/)在iCal格式上。解析器庫被廣泛使用,但不一定每個人都實現了每個功能。 – Tomalak
或者,您可以使用三小時的事件,並且每天只需重複一次,任何iCalendar實現都可以這樣做。 – Tomalak