javascript date from controller

12 浏览
0 Comments

javascript date from controller

我正在使用json从asp.net控制器获取数据,该控制器从ms sql数据库获取数据。\n在JavaScript中,我得到了一个带有奇怪日期类型的对象\n

Object BloodTestID:23
Date:"/Date(1451599200000)/"
Name:"Hb"
PersonBloodTestID:0
Value:"151"
__proto__:Object

\n如何将\"/Date(1451599200000)/\"转换为01.01.2016?

0
0 Comments

问题出现的原因是在从字符串中提取数字时使用了正则表达式,但没有考虑到字符串中可能包含多个数字的情况。因此,使用`match()`方法仅返回了第一个匹配的数字。

解决方法是使用全局匹配的正则表达式,以便提取所有数字。可以使用`g`修饰符来实现全局匹配。

修改后的代码如下:

function getDate(str){
    // extract numbers from string using regex
    var numbers = str.match(/\d+/g);
    // turn first number into int
    var intNum = parseInt(numbers[0]);
    // turn int into date
    return new Date(intNum);
}
var str = '/Date(1451599200000)/';
alert(getDate(str));

通过对正则表达式的修改,我们可以提取出字符串中的所有数字,并将第一个数字转换为整数。然后,我们可以使用`new Date()`方法将整数转换为日期对象。

0