# 觀察區間與時間顆粒度
### 原型圖如下

### :-: 區間范圍與顆粒度匹配表
| 區間范圍 |顆粒度 |
| --- | --- |
| 大于等于1年 | 年、月 |
| 大于等于1個月,小于1年 | 月 、周 |
| 大于等于1周,小于1個月 | 周、日 |
| 大于等于1日,小于1周 | 日、小時 |
| 大于等于1小時,小于1日 | 小時、分 |
| 大于等于1分鐘,小于1小時 | 分 |
| 小于1分鐘 | **無法實現** |
### :-: 自定義顆粒度
| 時間單位 | 自定義顆粒度 | 默認 |
| --- | --- | --- |
| 年 | 無 | 1年 |
| 月 | 1個月、1個季度 | 1個月 |
| 周 | 無 | 1周 |
| 日 | 無 | 1日 |
| 小時 | 無 | 1小時 |
| 分 | 1分鐘、5分鐘、10分鐘、30分鐘 | 1分鐘 |
### 約束條件
1. **自定義顆粒度**:自定義范圍必須要小于區間范圍,比如區間范圍是12分鐘,但自定義顆粒度是30分鐘,那么查詢結果為空。(也可以給出提示)
2. **關于時間單位**:時間單位都是按照日歷指定,而不是自然連續。比如:一周指的是日歷周,不是自然的連續7天;一個月指的是日歷月,而不是連續的30天;5分鐘指的是0分、5分、10分,而不是連續的5分鐘。
3. **關于展示**:在不同的顆粒度范圍中,確定的區間范圍將不一致。
* 年:只關心起始年和結束年
* 月:只關心起始年月和結束年月
* 周:只關心在起始年月日內,最接近的周一,和在結束年月日內,最接近的周日
* 日:只關心起始年月日和結束年月日
* 小時:只關心起始年月日小時和結束年月日小時
* 分:只關心起始年月日小時分和結束年月日小時分
* 季度:只關心在起始年月內,最接近的季度,和在結束年月內,最接近的季度
* 5分鐘、10分鐘、30分鐘:只關心在起始年月日小時分內,最接近的第一個自定義分鐘,和在結束年月日小時分內,最接近的最后一個自定義分鐘。舉例,從2019-06-10 17:23:30 到 2019-06-10 19:34:57,如果是自定義的5分鐘,則開始在17: 25: 00, 結束在 19:30:00