2012-10-16 55 views
3

我想知道以JSON格式表達代理機構工作時間的最佳方式是什麼。假設該機構每週工作5天(不一定是星期一至星期五),每天工作兩個班次(不一定):從上午9點到下午1點,從下午2點到下午6點。提前致謝!建議的工作時間JSON格式

回答

6
{ "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": 
     [] 
    } 
] 
} 
+0

喜@ st3inn,4年後你會改變這個答案?還是堅持下去呢? http://schema.org/OpeningHoursSpecification – Sahan

+0

我認爲布賴恩坎貝爾提出了一個好幾個小時,跨越多天,所以我也看看他的答案。對於嚴格的日光計劃,我沒有看到我的「舊」解決方案存在任何大問題;) – st3inn

1

表示時間範圍的散列數組應該起作用。每個人都可以包括開幕式和閉幕式的日期和時間。我只是在這裏使用一個數字,從午夜開始數小時;根據您的需要,時間戳可能會更好。我選擇寫出日期名稱,而不是使用數字,以避免混淆您是否索引0或索引1,以及您是否在星期日或星期一開始計數。

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

你要包括在時間範圍的兩端的一天,讓你可以有跨越午夜小時(而你現在可能不指望它,你可能會碰到的情況下,當有人打開後午夜,或者可能會遇到您想要報告世界各地當地人開放時間的情況)。除此之外,這應該是相當自我解釋。

3

以下是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" 
    },