Javascript 使用JS-input_start.map格式化不是一个函数
我正在开发一个格式化日期的函数,这就是我所做的:Javascript 使用JS-input_start.map格式化不是一个函数,javascript,Javascript,我正在开发一个格式化日期的函数,这就是我所做的: const options = { year: 'numeric', month: '2-digit', day: '2-digit' }; task_start_date = task_start.toLocaleDateString('de-DE', options); task_end_date = task_end.toLocaleDateString('de-DE'
const options = { year: 'numeric', month: '2-digit', day: '2-digit' };
task_start_date = task_start.toLocaleDateString('de-DE', options);
task_end_date = task_end.toLocaleDateString('de-DE', options);
console.log(task_start_date); /* 31.01.2001 */
console.log(task_end_date); /* 01.02.2001 */
/* Must be YYYY-MM-DD */
const input_start = task_start_date;
const format_start = input_start.map((str) => {
const [date, month, year] = str.split(".");
return `${year}-${month}-${date}`;
});
const input_end = task_end_date;
const format_end = task_end_date.map((str) => {
const [date, month, year] = str.split(".");
return `${year}-${month}-${date}`;
});
I getinput\u start.map不是函数
感谢您的帮助您不需要映射到input\u start
,因为input\u start
是一个字符串。你应该做的是
const options = { year: "numeric", month: "2-digit", day: "2-digit" };
const task_start_date = task_start.toLocaleDateString("de-DE", options);
const task_end_date = task_end.toLocaleDateString("de-DE", options);
console.log(task_start_date); /* 31.01.2001 */
console.log(task_end_date); /* 01.02.2001 */
/* Must be YYYY-MM-DD */
const [startDate, startMonth, startYear] = task_start_date.split(".");
const input_start = `${startYear}-${startMonth}-${startDate}`;
console.log(input_start); // 2001-01-31
为什么task\u start\u date
是一个数组?请同时更新console.log
值toLocaleDateString
返回一个字符串,但您的console.log
记录一个数组,我想说的是,将问题中的代码更新到console.log
当前记录的内容。我得到:31.01.2001
和01.02.2001
好的,因此您不需要再映射,因为任务开始日期现在是一个字符串。因此,只需使用
作为分隔符拆分字符串。嘿,你能把我的问题向上投票吗,这样我就可以发布一个新的问题了?也许你也知道这个问题的答案