一天中各时段的划分

一天中各时段的划分

-----------------------------------------------
                                             
凌晨:01:00:00----04:59:59                   

早上:05:00:00----07:59:59

上午:08:00:00----10:59:59

中午:11:00:00----12:59:59

下午:13:00:00----16:59:59

傍晚:17:00:00----18:59:59

晚上:19:00:00----22:59:59

子夜:23:00:00----00:59:59

-----------------------------------------------

23:00:00----24:59:59-----------子时(属水)

01:00:00----02:59:59-----------丑时(属土)

03:00:00----04:59:59-----------寅时(属木)

05:00:00----06:59:59-----------卯时(属木)

07:00:00----08:59:59-----------辰时(属土)

09:00:00----10:59:59-----------巳时(属火)

11:00:00----12:59:59-----------午时(属火)

13:00:00----14:59:59-----------未时(属土)

15:00:00----16:59:59-----------申时(属金)

17:00:00----18:59:59-----------酉时(属金)

19:00:00----20:59:59-----------戊时(属土)

21:00:00----22:59:59-----------亥时(属水)

-----------------------------------------------

### 如何用 JavaScript 将一天划分为 24 小时的时间段 要实现将一天划分为 24 小时的时间段,可以通过创建一个数组来表示每个小时,并利用 `Date` 对象生成具体时间戳。以下是完整的解决方案: #### 方法描述 通过循环遍历从午夜 (00:00) 到次日凌晨前一刻 (23:59),可以构建出每天的 24 小时时段列表。此方法基于当前日期动态生成时间段,因此适用于任何指定的日子。 #### 实现代码 以下是一个简单的函数示例,用于生成一天中的 24 小时段[^1]: ```javascript function get24HourSegments(date = new Date()) { const segments = []; const baseDate = new Date(date); // 设置时间为当天凌晨零点 baseDate.setHours(0, 0, 0, 0); for (let hour = 0; hour < 24; hour++) { const segmentStart = new Date(baseDate); segmentStart.setHours(hour, 0, 0, 0); // 当前小时起始时刻 const segmentEnd = new Date(segmentStart); segmentEnd.setMinutes(59, 59, 999); // 当前小时结束时刻 segments.push({ start: segmentStart.toISOString(), end: segmentEnd.toISOString() }); } return segments; } // 调用并打印结果 const todaySegments = get24HourSegments(); console.log(todaySegments); ``` 上述代码会返回一个对象数组,其中每个对象代表一小时内的时间范围(ISO 时间字符串)。例如: ```json [ { "start": "2023-10-07T00:00:00.000Z", "end": "2023-10-07T00:59:59.999Z" }, { "start": "2023-10-07T01:00:00.000Z", "end": "2023-10-07T01:59:59.999Z" } ... ] ``` #### 关键点解释 1. **初始化基础日期**: 使用传入的日期参数设置为当天的午夜作为起点。 2. **逐小时迭代**: 循环从第 0 小时到第 23 小时,分别计算每小时的开始时间和结束时间。 3. **精确控制毫秒级精度**: 结束时间被设定为该小时的最后一刻 (`HH:59:59.999`),以确保覆盖整个区间。 这种设计不仅满足实时调度需求,还能够灵活扩展至其他粒度的时间划分场景。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值