首页 > 解决方案 > 使用 moment.js PHP 和 MySQL/MariaDb 开发时间表

问题描述

我们的工作周从周三开始,到周二结束,所以我希望动态地允许用户从周三列表中进行选择(在 php 和/或 js 中很容易完成),并将该日期作为他们一周的开始。重新编辑或准备提交。

我通过搜索网络找到了一个理想的实现: https ://codepen.io/m-singh/pen/VaGayK

我尝试的模式:

window.onload = lastdateInit;
    function lastdateInit(){
    var startOfWeek = moment().startOf('isoweek').add(2,'days').toDate(); 
    console.log(startOfWeek);
    var tue = moment(startOfWeek).add(5,'days').toDate(); 
    var wed = moment(startOfWeek).add(6,'days').toDate(); 
    var thu = moment(startOfWeek).add(1,'days').toDate(); 
    var fri = moment(startOfWeek).add(2,'days').toDate(); 
    var sat = moment(startOfWeek).add(3,'days').toDate(); 
    var endOfWeek = moment().endOf('isoweek').add(7,'days').toDate();
    var monDay =moment(startOfWeek).format("MM/DD/YYYY");
    var tueDay =moment(tue).format("MM/DD/YYYY");
    var wedDay =moment(wed).format("MM/DD/YYYY");
    var thuDay =moment(thu).format("MM/DD/YYYY");
    var friDay =moment(fri).format("MM/DD/YYYY");
    var satDay =moment(sat).format("MM/DD/YYYY");
    var sunDay =moment(endOfWeek).format("MM/DD/YYYY");

    document.getElementById("day6").innerHTML = monDay;
    document.getElementById("day7").innerHTML = tueDay;
    document.getElementById("day1").innerHTML = wedDay;
    document.getElementById("day2").innerHTML = thuDay;
    document.getElementById("day3").innerHTML = friDay;
    document.getElementById("day4").innerHTML = satDay;
    document.getElementById("day5").innerHTML = sunDay;
    document.getElementById("datepicker").value = wedDay;
}

我对 jQuery 和 moment.js 依赖项很好,从我读过的内容来看,moment.js 是用于时间操纵的,但我似乎无法让事情不被包装,以便周三至周一期间不在周一至周二期间。

基本上,这正是我需要的,但抵消了 2 天。这听起来很简单(我敢肯定),但我对js非常熟悉,并且正在寻求指导。

提前感谢您的任何回复。

-射线

标签: jquerymomentjs

解决方案


给你:这个想法是你在你的“一周开始”中增加 2 天,然后从那里开始正常工作。

window.onload = lastdateInit;
function lastdateInit(){
    var startOfWeek = moment().startOf('isoweek').add(2, 'days').toDate(); 
    var thu = moment(startOfWeek).add(1,'days').toDate(); 
    var fri = moment(startOfWeek).add(2,'days').toDate(); 
    var sat = moment(startOfWeek).add(3,'days').toDate(); 
    var sun = moment(startOfWeek).add(4,'days').toDate(); 
    var mon = moment(startOfWeek).add(5,'days').toDate(); 
    var tue = moment(startOfWeek).add(6,'days').toDate(); 

    var wedDay =moment(startOfWeek).format("MM/DD/YYYY");
    var thuDay =moment(thu).format("MM/DD/YYYY");
    var friDay =moment(fri).format("MM/DD/YYYY");
    var satDay =moment(sat).format("MM/DD/YYYY");
    var sunDay =moment(sun).format("MM/DD/YYYY");
    var monDay =moment(mon).format("MM/DD/YYYY");
    var tueDay =moment(tue).format("MM/DD/YYYY");

    document.getElementById("day1").innerHTML = wedDay;
    document.getElementById("day2").innerHTML = thuDay;
    document.getElementById("day3").innerHTML = friDay;
    document.getElementById("day4").innerHTML = satDay;
    document.getElementById("day5").innerHTML = sunDay;
    document.getElementById("day6").innerHTML = monDay;
    document.getElementById("day7").innerHTML = tueDay;
    document.getElementById("datepicker").value = tueDay;
}

推荐阅读