изменить строку с новой даты на дату - PullRequest
0 голосов
/ 17 января 2019

У меня есть строковая дата, как

'новая дата (0,0,0,11,13,16)'

и хотите изменить его на

новая дата (0,0,0,11,13,16)

у кого-нибудь есть идея.

спасибо

Ответы [ 3 ]

0 голосов
/ 17 января 2019

Используйте regex для решения этой проблемы, сопоставляя только числа match вернет массив чисел, поэтому используйте оператор распространения , чтобы установить для всех параметров значение Date.

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

console.log(res);
0 голосов
/ 17 января 2019
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);
0 голосов
/ 17 января 2019

Теоретически для этого можно использовать функцию eval.

Однако, в зависимости от использования, это может привести к некоторой угрозе безопасности. Подробнее об этом здесь

Если это возможно, я бы предложил вам использовать другую форму строки даты, например, "гггг-мм-дд" (2019-02-17) и проанализируйте его для объекта даты, используя new Date(dateString) constructor (new Date('2019-01-17')).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...