gpt4 book ai didi

JavaScript 租赁日期逻辑

转载 作者:行者123 更新时间:2023-11-28 00:16:44 25 4
gpt4 key购买 nike

所以,基本上我正在构建一个租赁表格,其中有三个基本下拉菜单,分别是“月”、“日”、“年”,一个是“租自”,另一个是三个“租到”。

这很容易,我什至得到了不错的闰年支持等等。问题在于根据“租金来源”生成“租金至”。我希望“rent till”仅在后记的下拉列表中显示接下来的五天,但我在制定逻辑以有效地执行此操作时遇到了严重困难。

此外,范围是可变的,因此我正在尝试使用一个函数,该函数采用“租赁长度”参数来影响更改。该代码还使用引用点。因此,拾取下拉菜单是“pick_up_day”、“pick_up_month”等。这是为了尝试使代码可移植到具有一致 ID 的 HTML 元素的多个项目。

这是我的基本逻辑以及到目前为止我得到的:

这是设置开始日期等的代码。

function populate_dates(identifier) {
"use strict";
var i, currentday, node, textbox, maxdays;
while (document.getElementById(identifier + "days").hasChildNodes()) {
document.getElementById(identifier + "days").removeChild(document.getElementById(identifier + "days").firstChild);
}
currentday = new Date();
switch (parseInt(document.getElementById(identifier + "month").value, 10)) {
case 2:
if (new Date(currentday.getFullYear(), 1, 29).getDate() === 29) {
maxdays = 29;
} else {
maxdays = 28;
}
break;
case 9:
case 4:
case 6:
case 11:
maxdays = 30;
break;
default:
maxdays = 31;
break;
}
for (i = 1; i <= maxdays; i = i + 1) {
node = document.createElement("option");
textbox = document.createTextNode(i);
node.value = i;
node.appendChild(textbox);
document.getElementById(identifier + "days").appendChild(node);
}
}


window.onload = function() {
"use strict";
var currentday, i, node, textbox;
currentday = new Date();
for (i = 0; i <= 1; i = i + 1) {
node = document.createElement("option");
textbox = document.createTextNode(currentday.getFullYear() + i);
node.value = currentday.getFullYear() + i;
node.appendChild(textbox);
document.getElementById("pick_up_year").appendChild(node);
}
document.getElementById("pick_up_month").onchange = function () {
populate_dates("pick_up_");
};
populate_dates("pick_up_");
};

现在对于关于“截止”日期的逻辑,我已经制定了一些这样的伪代码,但对于这样一个简单的任务来说它似乎过于复杂:

function a(referencer, ref1, ref2, rentlength) {
//Make datetime object out of ref1's current date;
datetime.setDays(datetime.getDate() + rentlength)
for (i = 0; i <= rentlength; i = i + 1) {
datetime.setDays(datetime.getDate() + i);
outmatrix[outmatrix.length] = [getDates, getMonth, getYear];
}
outmatrix.removeduplicates;
date_generator(ref2, outmatrix)
}

function date_generator(referencer, inputmatrix) {
Clean up referencer
Loop through, create nodes based on array[y+1][x];
}

有没有更好的方法来做到这一点,我只是没有看到?在删除重复项的同时将 Datetime 对象转换为三个下拉列表的好方法是什么?有没有比我现在的方式更好的处理方式?

最佳答案

在逻辑上,您需要将日期设置为开始日期和租赁时间之和,格式为 DATE。

关于JavaScript 租赁日期逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com