JavaScript GetDate无法跨区域工作
我有一些JS代码,它接收客户端的日期/时间并将其传递给服务器,如下所示: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 =
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);