我有一个从 JS(react) 中的用户输入中获取的日期。
我需要以 cyymmdd 格式发送它。我该如何转换?
喜欢这个01/05/1998 to 980501
编辑
如何将其从 cyymmdd 更改为 dd/mm/yyyy ?
答案 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)
答案 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);