如何解决如何从工作日和时间字符串创建一个 JS 日期对象
给定一个像 Tue:18-20
这样的字符串,如何创建一个 Javascript 日期对象来表示第一个/下一个星期二 18:00(从现在开始)
对于上下文:上述字符串格式用于存储用户的取货和送货时间偏好。很想知道是否有更好的方法来存储它(作为字符串或不同的格式)
解决方法
首先,编写一个代码来解码您的 <day>:<startHours>-<endHours>
字符串。然后,你可以这样做
let day = 1; // Mon : 1,Tue: 2,Wed: 3 ...
let startHours = 18;
let endHours= 20;
// get the start of the period
let dateStart = new Date();
dateStart.setDate(dateStart.getDate() + (day !== dateStart.getDay() ? (day + 7 - dateStart.getDay()) % 7 : 7));
dateStart.setHours(startHours,0)
console.log(dateStart)
// get the end of the period
let dateEnd = new Date();
dateEnd.setDate(dateEnd.getDate() + (day !== dateEnd.getDay() ? (day + 7 - dateEnd.getDay()) % 7 : 7));
dateEnd.setHours(endHours,0)
console.log(dateEnd)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。