Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将.NET DateTime对象转换为Javascript日期对象_C#_Javascript_Jquery_Json - Fatal编程技术网

C# 将.NET DateTime对象转换为Javascript日期对象

C# 将.NET DateTime对象转换为Javascript日期对象,c#,javascript,jquery,json,C#,Javascript,Jquery,Json,我有以下问题: 我从SQL Server检索一个DateTime对象,并通过JSON(使用$.ajax)将其传递给Javascript。我在尝试将检索到的对象转换为javascript中的日期对象时遇到了困难。 检索到的对象是一个值为“/Date(615592800000)/”的字符串。我认为价值观是一个划时代的时代 我的问题是,除了使用正则表达式选择历元值然后创建一个新的日期对象之外,还有其他方法检索日期对象吗 我对JS还很陌生,所以非常感谢您的帮助。我不知道。。。这是我正在使用的函数,以防万

我有以下问题:

我从SQL Server检索一个DateTime对象,并通过JSON(使用$.ajax)将其传递给Javascript。我在尝试将检索到的对象转换为javascript中的日期对象时遇到了困难。 检索到的对象是一个值为“/Date(615592800000)/”的字符串。我认为价值观是一个划时代的时代

我的问题是,除了使用正则表达式选择历元值然后创建一个新的日期对象之外,还有其他方法检索日期对象吗


我对JS还很陌生,所以非常感谢您的帮助。

我不知道。。。这是我正在使用的函数,以防万一

function toDateFromJson(src) {
    return new Date(parseInt(src.substr(6)));
}

这是因为JSON作为标准没有日期时间格式——供应商可以根据自己的需要自由标记。WCF的/Date()格式很奇怪/ 几个月前我还面临着这个问题。 使用Jquery和jQueryUI,它将是这样的。controlId是带有

var converted = eval(original.replace(/\/Date\((\d+)\)\//gi, 'new Date($1)'));

regex方法是完全正确的方法

var msDateRegex = /"\\\/Date\((-?\d+)\)\\\/"/g;

var msDateJsonConverter = function(data) {
    return JSON.parse($.trim(data.replace(msDateRegex, '{"__date":$1}')), function(key, value) {
        return value && typeof value.__date == "number" ? new Date(value.__date) : value;
    });
};

$.ajaxSetup({ converters: { "text json": msDateJsonConverter } });

请参阅:

试试这个。将获得的日期字符串传递给下面的函数。它将为您提供JavaScript日期对象

function (val) {
        var reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/;
        var reMsAjax = /^\/Date\((d|-|.*)\)[\/|\\]$/;


            if (val)) {
                        var a = reISO.exec(val);
                        if (a) {
                            val = new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]));
                            return val;
                        }
                        a = reMsAjax.exec(val);
                        if (a) {
                            var b = a[1].split(/[-+,.]/);
                            val = new Date(b[0] ? +b[0] : 0 - +b[1]);
                            return val;
                        }
                    }

       return val; 
    }

谢谢。这并不完全是我想要的,但这是非常简单和实用的。