我想要一个dd- my格式的约会,所以我写了下面的,以便重新组合我从我的日期选择器得到的日期。我得到的不是17-05-2021,而是1,7-0,5-2,0,2,1,我能做些什么来避免这些逗号呢?
关于如何以比我所写的更有效的方式得到这个约会,我愿意听取其他建议。
const minDate = new Date().toISOString().slice(0, 10) // outputs 2021-05-17
const [text, setText] = useState('');
const [urgent, setUrgent] = useState(false);
const [date, setDate] = useState(minDate);
const formatDate = () => {
let tempDate = [...date];
let day = tempDate.slice(8);
let month = tempDate.slice(5, 7);
let year = tempDate.slice(0, 4);
let newDate = `${day}-${month}-${year}`;
return newDate;
};
const handleSubmit = () => {
let fixedDate = formatDate(date);
console.log(newDate) // outputs 1,7-0,5-2,0,2,1
if (text.length > 5) {
props.addTask(text, urgent, fixedDate);
setText('');
setUrgent(false);
setDate(minDate);
} else alert('Task name too short!');
};日期选择器
<input
type="date"
min={minDate}
value={date}
onChange={(event) => setDate(event.target.value)}
/>发布于 2021-05-17 18:48:26
const formatDate = (dateStr) => {
const [year, month, day] = dateStr.split('-');
let newDate = `${day}-${month}-${year}`;
return newDate;
};
const formattedDate = formatDate('2021-01-31');
console.log(formattedDate);
发布于 2021-05-17 18:49:06
您可以像下面这样定义formatDate函数。
const formatDate = date => `${date.getDate().toString().padStart(2, '0')}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getYear()}`;发布于 2021-05-17 18:50:38
您可以像这样使用拆分和连接,而不必更改代码;
const formatDate = () => {
let tempDate = [...date];
let day = tempDate.slice(8);
let month = tempDate.slice(5, 7);
let year = tempDate.slice(0, 4);
let newDate = `${day}-${month}-${year}`;
return newDate.split(',').join(''); // Change This Line
};这将消除昏迷。
https://stackoverflow.com/questions/67575387
复制相似问题