"2017-12-31-19-40" // Date Format
我的日期格式如上。我想将此字符串转换为正确的日期格式,例如
"2017-12-31 19:40"
我这样尝试过:
var str = "2017-12-31-19-40";
var newStr = str.indexOf("-");
var newStr2 = str.indexOf("-", newStr+4)
var newStr3 = str[newStr2].replace(" ");
alert(newStr3);
但是它只给我连字符。我该怎么办?
答案 0 :(得分:3)
在此处替换正则表达式是一个不错的选择:
var input = "2017-12-31-19-40";
console.log(input);
input = input.replace(/(\d{4}-\d{2}-\d{2})-(\d{2})-(\d{2})/, "$1 $2:$3");
console.log(input);
答案 1 :(得分:2)
干净的方法是使用moment.js库。
const date = moment('2017-12-31-19-40','YYYY-MM-DD-HH-mm');
console.log(date.format('YYYY-MM-DD HH:mm'))
答案 2 :(得分:-1)
通常,您可以创建一个函数来替换某些索引处的字符。
// String = Your string (eg.: '2017-12-31-19-40');
// subString = string you want to replace (ex: '-');
// index = which occurrence you like to replace (ex. 3);
// replaceChar = character you want to replace with (ex: ';');
function replaceString(string, subString, index, replaceChar) {
return string.replace(
RegExp('^(?:.*?' + subString + '){' + index + '}'),
function(x) {
return;
x.replace(RegExp(subString + '$'), replaceChar);
}
);
}
replaceString('2017-12-31-19-40', '-', 3, ';');
这样,您可以随时随地替换任何字符。