Javascript 将字符串“新日期”更改为“日期”

Javascript 将字符串“新日期”更改为“日期”,javascript,node.js,date,Javascript,Node.js,Date,我有像这样的约会 '新日期(0,0,0,11,13,16)' 想把它改成 新日期(0,0,0,11,13,16) 任何人对此都有想法 谢谢理论上,您可以使用eval功能来实现这一点 根据使用情况,这确实会带来一些安全风险。了解更多有关此的信息 如果可能的话,我建议您使用另一种形式的日期字符串,例如“yyyy-mm-dd”(2019-02-17),并使用new date(dateString)构造函数将其解析为日期对象(new date('2019-01-17'))。理论上您可以使用eval函数

我有像这样的约会

'新日期(0,0,0,11,13,16)'

想把它改成

新日期(0,0,0,11,13,16)

任何人对此都有想法


谢谢

理论上,您可以使用
eval
功能来实现这一点

根据使用情况,这确实会带来一些安全风险。了解更多有关此的信息


如果可能的话,我建议您使用另一种形式的日期字符串,例如“yyyy-mm-dd”(2019-02-17),并使用
new date(dateString)构造函数将其解析为日期对象(
new date('2019-01-17')
)。

理论上您可以使用
eval
函数

根据使用情况,这确实会带来一些安全风险。了解更多有关此的信息


如果可能的话,我建议您使用另一种形式的日期字符串,例如“yyyy-mm-dd”(2019-02-17),并使用
new date(dateString)构造函数将其解析为日期对象(
new date('2019-01-17')
)。

使用正则表达式通过只匹配数字来解决此问题
match
将返回一个数字数组,因此使用将所有参数设置为最新

const res=newdate(…'newdate(0,0,0,11,13,16)).match(/[0-9]+/g));

控制台日志(res)使用正则表达式通过仅匹配数字来解决此问题
match
将返回一个数字数组,因此使用将所有参数设置为最新

const res=newdate(…'newdate(0,0,0,11,13,16)).match(/[0-9]+/g));


控制台日志(res)不清楚您想要实现什么。如果要编辑字符串的某些部分,可以使用“切片”或“替换”。如果希望字符串成为代码,可以使用eval.
const string='\'新日期(0,0,0,11,13,16)\';string.substring(1,string.length-1)@Xatenev谢谢,但不是working@rustypaper事实上,我正在尝试在node js项目中的HTML字符串中添加值,并使用API响应呈现HTML,因此我的日期是“new date(0,0,0,11,13,16)”之类的字符串,所以我想从字符串中删除“”,以使实际日期保持不变,但不清楚为什么会出现这种情况。这看起来像是一场灾难。现在,似乎不应该以这种方式生成这些字符串。要么在没有额外退出的情况下生成代码,要么更好——不要将代码作为字符串生成。您想要实现什么还不清楚。如果要编辑字符串的某些部分,可以使用“切片”或“替换”。如果希望字符串成为代码,可以使用eval.
const string='\'新日期(0,0,0,11,13,16)\';string.substring(1,string.length-1)@Xatenev谢谢,但不是working@rustypaper事实上,我正在尝试在node js项目中的HTML字符串中添加值,并使用API响应呈现HTML,因此我的日期是“new date(0,0,0,11,13,16)”之类的字符串,所以我想从字符串中删除“”,以使实际日期保持不变,但不清楚为什么会出现这种情况。这看起来像是一场灾难。现在,似乎不应该以这种方式生成这些字符串。要么不使用额外的quites生成代码,要么更好—不要将代码生成为字符串。我不想转换为日期,我只想从中删除引号string@kalpeshR我很困惑。您无法删除引号。。。这是我的数组[['Magnolia Room','Start JavaScript',new date(0,0,0,12,0,0,0),new date(0,0,0,13,30,0)],我在引号中有日期,所以我想删除引号。你提供的示例是实际日期,而不是字符串。是@kemicofa,但我的代码类似于“dataTable.addRows”([[‘Magnolia Room’、‘开始JavaScript’、新日期(0,0,0,12,0,0)、新日期(0,0,0,13,30,0)])在字符串内部,所以我想更改字符串内部的数据,我已经更改了数据,但日期保存为字符串我不想转换为日期,我只想从中删除引号string@kalpeshR我很困惑。你不能删除引号…如果不把它变成一个日期…这是我的数组[['Magnolia Room','Start JavaScript',new date](0,0,0,12,0,0,0),新日期(0,0,0,13,30,0)],我在引号内有日期,所以我想删除引号。您提供的示例是实际日期,而不是字符串。是@kemicofa,但我的代码类似于“dataTable.addRows”([‘Magnolia Room’,‘开始JavaScript’,‘新日期(0,0,0,12,0,0),新日期(0,0,0,0,13,30)])在字符串内所以我想在字符串内更改数据,我已经更改了数据,但日期保存为字符串谢谢,但我想将日期放在['Magnolia Room','Start JavaScript',新日期(0,0,0,12,0,0),新日期(0,0,0,13,30,0)]内,所以现在我的日期在引号内,比如'new date(0,0,0,12,0,0,0),我想要新日期(0,0,0,0)谢谢,但我想把日期放在['Magnolia Room','Start JavaScript',新日期(0,0,0,12,0,0),新日期(0,0,0,13,30,0)]里面,所以现在我的日期在引号里,比如'new date(0,0,0,0,12,0,0,0,0),我想要新日期(0,0,0,12,0,0,0)
var str = 'new Date(0,0,0,11,13,16)';        
var str1 = str.match(/\(.*\)/g)[0];        
str1 = str1.replace('(', '');        
str1 = str1.replace(')', '');        
var dateArr = str1.split(',');        
var updatedDate = new 
Date(dateArr[0],dateArr[1],dateArr[2],dateArr[3],dateArr[4],dateArr[5]);        
console.log(updatedDate);