【问题标题】:Convert date dd/mm/yyyy to cyymmdd将日期 dd/mm/yyyy 转换为 cyymmdd
【发布时间】:2021-06-20 11:21:00
【问题描述】:

我有一个来自用户在 JS(react) 中输入的日期。

我需要以 cyymmdd 格式发送。我怎样才能转换它?

喜欢这个01/05/1998 to 980501

编辑

如何将其从 cyymmdd 更改为 dd/mm/yyyy ?

【问题讨论】:

    标签: javascript reactjs date


    【解决方案1】:

    您可以通过将字符串拆分为/ 来加入它,然后反转数组(吐出的值)的顺序,然后再次加入并剪切前2个字符:

    '01/05/1998'.split('/').reverse().join('').slice(2) // "980501"
    

    细分:

    '01/05/1998'
      .split('/') // ["01", "05", "1998"]
      .reverse()  // ["1998", "05", "01"]
      .join('')   // "19980501"
      .slice(2)   //   "980501"
    

    【讨论】:

    • @Allure - 你能详细说明它与cyymmdd不匹配的场景吗?
    • 我怎样才能倒退?从 cyymmdd 到 ddmmyyyy
    • @yanirmidler -嗯,98 的年份可以是199820981798...你怎么知道哪千年?
    • 我也想要1998
    • 你想成为 20 岁的孩子? 1920 年还是 2020 年?还是 1720?
    【解决方案2】:

    你可以使用momentjs来做这个简单的方法

    moment("11/05/1998").format("YYMMDD");
    

    【讨论】:

      【解决方案3】:

      试试这个

      convertDateFromDDMMYYYYToCYYMMDD('01/05/1998'); //returns desired '980501'
      
      function convertDateFromDDMMYYYYToCYYMMDD(ddmmyyyyDate){
          const testRegex = /^\d{2}\/\d{2}\/\d{4}$/
          if(!testRegex.test(ddmmyyyyDate))
              throw new TypeError('date does not match DDMMYYYY format')
          const dateParts = ddmmyyyyDate.split('/')
          const cyy = Number(dateParts.pop()) - 1900
          if(cyy<0)
              throw new Error('date before year 1900')
          return cyy+dateParts[1]+dateParts[0]
      } 

      【讨论】:

        【解决方案4】:

        假设您想在将其保存到数据库之前对其进行转换,我建议您使用 RegEx 来更改格式。

        看看这个帖子,它有你正在寻找的答案。 这里是a link

        还有,可能重复。

        【讨论】:

          【解决方案5】:

          最简单的方法是使用split

          const date = "01/05/1998";
          const [dd, mm, year] = date.split("/");
          const yy = year.match(/\d\d$/)[0];
          
          const result = `${yy}${mm}${dd}`;
          console.log(result);

          【讨论】:

          • 导致你的代码与cyymmdd格式不匹配,是yymmdd
          • @Allure 只看到 OP 的输入以及 OP 想要的回报,即输出。
          • 它与上述格式匹配,但您的代码不匹配
          • @Allure 它符合预期并且符合 OP 的要求 980501。我不知道你在看什么和在哪里?
          猜你喜欢
          • 2023-03-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-22
          • 2013-10-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多