将日期 dd/mm/yyyy 转换为 cyymmdd

时间:2021-06-20 11:21:00

标签: javascript reactjs date

我有一个从 JS(react) 中的用户输入中获取的日期。

我需要以 cyymmdd 格式发送它。我该如何转换?

喜欢这个01/05/1998 to 980501

编辑

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

5 个答案:

答案 0 :(得分:1)

试试这个

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]
} 

答案 1 :(得分:1)

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

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

答案 2 :(得分: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"

答案 3 :(得分:0)

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

看看这个线程,它有你正在寻找的答案。 这是a link

此外,可能存在重复。

答案 4 :(得分:0)

最简单的方法是使用 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);

相关问题