获取当前日的0点到24点的时间戳

这篇博客介绍了两个JavaScript函数,用于获取当前时间的零点和24点,以构造时间范围查询参数。这些函数对于后端从前端接收时间查询条件非常有用。

背景

有时候后端需要前端传递时间范围作为查询参数

1.获取当前时间的零点

function getStartTime(time){
   return new Date(time).setHours(0, 0, 0, 0)
}

2.获取当前时间的24点

function getEndTime(time){
   return new Date(time).setHours(23, 59, 59, 0)
}

### 当前时间的午夜时间戳JavaScript 中,可以通过创建一个 `Date` 对象并将其调整到当天0 来计算午夜的时间戳。以下是实现这一功能的具体方法: #### 方法描述 通过获取前日期并将小时、分钟、秒以及毫秒设置为 0 来得到当天的午夜时间。随后可以调用 `getTime()` 或者 `valueOf()` 方法返回该时间对应的 Unix 时间戳。 ```javascript function getMidnightTimestamp() { const now = new Date(); const midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate()); return midnight.getTime(); // 返回以毫秒为单位的时间戳 } console.log(getMidnightTimestamp()); // 输出当天0时间戳(毫秒) ``` 如果需要的是以秒为单位的时间戳,则可以在上述基础上除以 1000 并向下取整: ```javascript function getMidnightTimestampInSeconds() { const now = new Date(); const midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate()); return Math.floor(midnight.getTime() / 1000); // 转换为秒级时间戳 } console.log(getMidnightTimestampInSeconds()); // 输出当天0时间戳(秒) ``` 此方法利用了 `Date` 构造函数的能力,能够精确地定位至每天的起始时刻[^1]。 #### 备选方案 另一种方式是手动构建日期字符串再解析成 `Date` 对象,这种方法同样有效但可能不如直接操作 `Date` 属性直观: ```javascript function alternativeGetMidnightTimestamp() { const today = new Date(); const dateString = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}- ${String(today.getDate()).padStart(2, '0')}T00:00:00`; const midnight = new Date(dateString); return midnight.getTime(); // 返回以毫秒为单位的时间戳 } ``` 尽管这种方式稍显冗长,但它展示了如何灵活处理日期格式化问题[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值