根据jQuery中输入的日期字符串获取下一个日期(YYYY-MM-DD)
Get next date(YYYY-MM-DD) according to the input date string in jQuery
考虑一下,我有一个格式为(年-月-日)的日期,
adate = "2020-10-02";
现在我想创建一个 jQuery 函数来输入 adate
和 return next_date
如下所示,
function make_next_date(adate) {
next_date = adate + 1; //"2020-10-03"
return next_date;
}
对于以下输入日期,函数应该可以正常工作,
adate = "2021-05-31";
next_date = "2021-06-01";
adate = "2020-12-31";
next_date = "2021-01-01";
adate = "2021-02-28";
next_date = "2021-03-01";
这只是 JavaScript。 JavaScript 有日期。 jQuery 与日期操作无关。
function make_next_date(adate) {
next_date = new Date(adate);
next_date.setDate(next_date.getDate() + 1);
return next_date.toISOString().split('T')[0];
}
[
"2021-05-31",
"2020-12-31",
"2021-02-28",
].forEach(date => {
console.log({
date,
out: make_next_date(date)
});
});
function make_next_date(adate) {
const date = new Date(adate);
date.setDate(date.getDate() + 1);
// YEAR
const rYear = date.getFullYear();
// MONTH
let rMonth = date.getMonth() + 1;
rMonth = rMonth < 10 ? `0${rMonth}` : rMonth;
// DATE
let rDate = date.getDate();
rDate = rDate < 10 ? `0${rDate}` : rDate;
return `${rYear}-${rMonth}-${rDate}`;
}
["2021-05-31", "2020-12-31", "2021-02-28"].forEach((date) => {
console.log({
date,
out: make_next_date(date),
});
});
将您的字符串更改为日期对象。
并加 1。
让日期=新日期();
date.SetDate(Date.parseDate(你的字符串 + 1);
可以使用Dateclass和padStart函数来实现。
let adate = "2020-10-02";
function make_next_date(adate) {
const [year, month, day] = adate
.split("-")
.map(item => parseInt(item));
const date = new Date(year, month, day);
date.setDate(date.getDate() + 1);
return [
date.getFullYear(),
date.getMonth().toString().padStart(2, 0),
date.getDate().toString().padStart(2, 0)
].join("-")
}
console.log(make_next_date(adate));
此外,还有一个非常有用的日期处理包,叫做 moment。使用 moment 只需 3 行代码即可实现。
const moment = require("moment");
const FORMAT = "YYYY-MM-DD";
let adate = "2020-10-02";
function make_next_date(adate) {
return moment(adate, FORMAT)
.add(1, "day")
.format(FORMAT);
}
考虑一下,我有一个格式为(年-月-日)的日期,
adate = "2020-10-02";
现在我想创建一个 jQuery 函数来输入 adate
和 return next_date
如下所示,
function make_next_date(adate) {
next_date = adate + 1; //"2020-10-03"
return next_date;
}
对于以下输入日期,函数应该可以正常工作,
adate = "2021-05-31";
next_date = "2021-06-01";
adate = "2020-12-31";
next_date = "2021-01-01";
adate = "2021-02-28";
next_date = "2021-03-01";
这只是 JavaScript。 JavaScript 有日期。 jQuery 与日期操作无关。
function make_next_date(adate) {
next_date = new Date(adate);
next_date.setDate(next_date.getDate() + 1);
return next_date.toISOString().split('T')[0];
}
[
"2021-05-31",
"2020-12-31",
"2021-02-28",
].forEach(date => {
console.log({
date,
out: make_next_date(date)
});
});
function make_next_date(adate) {
const date = new Date(adate);
date.setDate(date.getDate() + 1);
// YEAR
const rYear = date.getFullYear();
// MONTH
let rMonth = date.getMonth() + 1;
rMonth = rMonth < 10 ? `0${rMonth}` : rMonth;
// DATE
let rDate = date.getDate();
rDate = rDate < 10 ? `0${rDate}` : rDate;
return `${rYear}-${rMonth}-${rDate}`;
}
["2021-05-31", "2020-12-31", "2021-02-28"].forEach((date) => {
console.log({
date,
out: make_next_date(date),
});
});
将您的字符串更改为日期对象。 并加 1。 让日期=新日期(); date.SetDate(Date.parseDate(你的字符串 + 1);
可以使用Dateclass和padStart函数来实现。
let adate = "2020-10-02";
function make_next_date(adate) {
const [year, month, day] = adate
.split("-")
.map(item => parseInt(item));
const date = new Date(year, month, day);
date.setDate(date.getDate() + 1);
return [
date.getFullYear(),
date.getMonth().toString().padStart(2, 0),
date.getDate().toString().padStart(2, 0)
].join("-")
}
console.log(make_next_date(adate));
此外,还有一个非常有用的日期处理包,叫做 moment。使用 moment 只需 3 行代码即可实现。
const moment = require("moment");
const FORMAT = "YYYY-MM-DD";
let adate = "2020-10-02";
function make_next_date(adate) {
return moment(adate, FORMAT)
.add(1, "day")
.format(FORMAT);
}