Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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
JavaScript GetDate无法跨区域工作_Javascript_Asp.net - Fatal编程技术网

JavaScript GetDate无法跨区域工作

JavaScript GetDate无法跨区域工作,javascript,asp.net,Javascript,Asp.net,我有一些JS代码,它接收客户端的日期/时间并将其传递给服务器,如下所示: function SetPostbackValues() { //Function that gets the client machine datetime and stores it in a hidden field // so it may be used in code behind. var date = new Date(); var day =

我有一些JS代码,它接收客户端的日期/时间并将其传递给服务器,如下所示:

function SetPostbackValues() {
        //Function that gets the client machine datetime and stores it in a hidden field
        // so it may be used in code behind.
        var date = new Date();
        var day = date.getDate();        // yields day
        if (day < 10)
            day = '0' + day;
        var month = date.getMonth() + 1;    // yields month
        if (month < 10)
            month = '0' + month;
        var year = date.getFullYear();  // yields year
        var hour = date.getHours();     // yields hours
        if (hour < 10)
            hour = '0' + hour;
        var minute = date.getMinutes(); // yields minutes
        if (minute < 10)
            minute = '0' + minute;
        var second = date.getSeconds(); // yields seconds
        if (second < 10)
            second = '0' + second;

        var time = day + "/" + month + "/" + year + " " + hour + ':' + minute + ':' + second;
        var hiddenControl = '<%= hfDateTime.ClientID %>';
        document.getElementById(hiddenControl).value = time;
    }
错误为{“未能将参数值从字符串转换为日期时间。”}


测试的值是:“19/02/2016 10:55:45”,这在我看来并没有错。

我认为你应该使用这个:

function SetPostbackValues() {
    var date = new Date();        
    var hiddenControl = '<%= hfDateTime.ClientID %>';
    document.getElementById(hiddenControl).value = date.toISOString();
}

我想你应该用这个:

function SetPostbackValues() {
    var date = new Date();        
    var hiddenControl = '<%= hfDateTime.ClientID %>';
    document.getElementById(hiddenControl).value = date.toISOString();
}

使用
(new Date()).getTime()
可能更容易避免使用不同的日期时间格式。请注意,C#
DateTime
的构造函数的基数和规模与Javascript不同


根据您需要的是UTC还是本地时间,减去datevalue.getTimezoneOffset()*60000使用
(新日期()).getTime()
可能更容易避免不同的日期时间格式。请注意,C#
DateTime
的构造函数的基数和规模与Javascript不同


根据您需要的是UTC还是本地时间,减去datevalue.getTimezoneOffset()*60000

该代码中没有任何内容在任何地方都不起作用,无论您所在的地区如何。请粘贴一个错误,好吗?数据库服务器可能希望使用MM/DD/YYYY格式,这对您的字符串不起作用。如果是Microsoft SQL server,请检查服务器和服务器连接中的DATEFORMAT设置。该代码中没有任何内容在任何地方都不起作用,无论使用哪个区域。请粘贴错误。数据库服务器可能希望使用MM/DD/YYYY格式,但该格式不适用于您的字符串。如果是Microsoft SQL server,请检查服务器和服务器连接中的DATEFORMAT设置。
cmd.Parameters.Add("@RemovalDate", SqlDbType.DateTime).Value = DateTime.Parse((this.Master.FindControl("hfDateTime") as HiddenField).Value);