如何将ISO字符串格式的日期时间转换为下一小时整点
实现方法
你可以通过调整日期对象的时间参数,直接得到当前小时的下一小时整点,再转换为RFC3339格式,具体代码和说明如下:
const date = new Date(); // 将时间设置为下一小时的整点:小时+1,分、秒、毫秒清零 date.setHours(date.getHours() + 1, 0, 0, 0); // 转换为RFC3339格式,若需去掉默认的毫秒部分,做字符串截取处理 const targetTime = date.toISOString().slice(0, 19) + 'Z'; console.log(targetTime);
关键说明:
setHours(hour, min, sec, ms)方法可以一次性设置小时、分钟、秒、毫秒四个参数,这里直接把当前小时加1,其余参数设为0,一步得到下一小时的整点时间- 默认
toISOString()会输出带毫秒的格式(如2022-12-20T06:00:00.000Z),用slice(0,19)截取到秒的部分后拼接Z,就能得到你需要的无毫秒格式
测试时,若当前输出为2022-12-20T05:26:12.968Z,运行代码后会输出2022-12-20T06:00:00Z,完全符合需求。
内容的提问来源于stack exchange,提问作者Saba Rehman
相关产品推荐
相关产品推荐

