12

我想知道以 JSON 格式表达代理机构工作时间的最佳方式是什么。假设该机构每周工作 5 天(不一定是星期一到星期五),每天工作两班(同样,不一定):从上午 9 点到下午 1 点,从下午 2 点到下午 6 点。提前致谢!

4

3 回答 3

14
{ "Hours" : 
    [ 
    { "Monday": 
        [
            { "Start": "0900", "Finish": "1300" },
            { "Start": "1400", "Finish": "1800" }
        ]
    },
    { "Tuesday":
        [
            { "Start": "0900", "Finish": "1300" },
            { "Start": "1400", "Finish": "1800" }
        ]
    },
    { "Wednesday":
        [
            { "Start": "0900", "Finish": "1300" },
            { "Start": "1400", "Finish": "1800" }
        ]
    },
    { "Thursday":
        [
            { "Start": "0900", "Finish": "1300" },
            { "Start": "1400", "Finish": "1800" }
        ]
    },
    { "Friday":
        [
            { "Start": "0900", "Finish": "1300" },
            { "Start": "1400", "Finish": "1800" }
        ]
    },
    { "Saturday":
        []
    },
    { "Sunday":
        []
    }
]
}
于 2012-10-16T15:12:22.837 回答
6

以下是 Facebook 如何节省地点时间

"hours": {
    "mon_1_open": "12:00",
    "mon_1_close": "20:30",
    "tue_1_open": "12:00",
    "tue_1_close": "20:30",
    "wed_1_open": "12:00",
    "wed_1_close": "20:30",
    "thu_1_open": "12:00",
    "thu_1_close": "20:30",
    "fri_1_open": "12:00",
    "fri_1_close": "20:30",
    "sat_1_open": "12:00",
    "sat_1_close": "20:30",
    "sun_1_open": "12:00",
    "sun_1_close": "20:30"
  },
于 2016-04-27T07:16:22.580 回答
1

代表时间范围的哈希数组应该可以工作。每个都可以包括打开和关闭的日期和时间。我在这里只是用一个数字表示时间,从午夜开始的几个小时;根据您的需要,时间戳可能会更好。我选择写出日期名称,而不是使用数字,以避免混淆您是 0 索引还是 1 索引,以及您是从星期日还是星期一开始计数。

[{"open": {"day": "monday",
           "time": 9},
  "close": {"day": "monday",
            "time": 13}},
 {"open": {"day": "monday",
           "time": 14},
          {"day": "monday",
           "time": 18}},
 ...]

您希望在时间范围的两端都包含这一天,这样您就可以拥有跨越午夜的时间(虽然您现在可能没有预料到,但您可能会遇到有人在午夜后开门的情况,或者可能会遇到您想要报告世界各地某人的当地时间开放时间的情况)。除此之外,这应该是不言自明的。

于 2012-10-16T15:11:00.407 回答