首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JS转换日期从yyyy mm-dd转换为dd-mm-yyyy。

将JS转换日期从yyyy mm-dd转换为dd-mm-yyyy。
EN

Stack Overflow用户
提问于 2021-05-17 18:43:04
回答 3查看 2.5K关注 0票数 0

我想要一个dd- my格式的约会,所以我写了下面的,以便重新组合我从我的日期选择器得到的日期。我得到的不是17-05-2021,而是1,7-0,5-2,0,2,1,我能做些什么来避免这些逗号呢?

关于如何以比我所写的更有效的方式得到这个约会,我愿意听取其他建议。

代码语言:javascript
复制
  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!');
  };

日期选择器

代码语言:javascript
复制
<input
   type="date"
   min={minDate}
   value={date}
   onChange={(event) => setDate(event.target.value)}
/>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-05-17 18:48:26

代码语言:javascript
复制
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);

票数 -1
EN

Stack Overflow用户

发布于 2021-05-17 18:49:06

您可以像下面这样定义formatDate函数。

代码语言:javascript
复制
const formatDate = date => `${date.getDate().toString().padStart(2, '0')}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getYear()}`;
票数 0
EN

Stack Overflow用户

发布于 2021-05-17 18:50:38

您可以像这样使用拆分和连接,而不必更改代码;

代码语言:javascript
复制
 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
  };

这将消除昏迷。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67575387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档