Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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 未捕获的语法错误:类型日期的数字意外_Javascript_Jquery_Ruby On Rails_Ruby - Fatal编程技术网

Javascript 未捕获的语法错误:类型日期的数字意外

Javascript 未捕获的语法错误:类型日期的数字意外,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,我正在从数据库表中检索日期和时间,并使用服务器端(RubyonRails)将其转换为字符串 当我在脚本变量中传递日期和时间时,我得到了uncaughtsyntaxerror:Unexpected number错误。 这是我的代码,最后一行我得到了错误 <% @adminstart.each do |name| %> <% time = name.strtime %> <% date = name.date %> <% end %> <% t

我正在从数据库表中检索日期和时间,并使用服务器端(RubyonRails)将其转换为字符串 当我在脚本变量中传递日期和时间时,我得到了
uncaughtsyntaxerror:Unexpected number
错误。 这是我的代码,最后一行我得到了错误

 <% @adminstart.each do |name| %>
<% time = name.strtime %>
<% date = name.date %>
<% end %>
<% t1_s = time.strftime("%H:%M")%>
<% datetime = date.to_s+" "+t1_s %> 
var date = new Date(<%= datetime %>);
日期和时间是正确的,但我不知道为什么它没有被解析为日期

日期和时间是正确的,但我不知道为什么它没有被解析为日期

因为它不是一根绳子。您正在向浏览器发送带有语法错误的JavaScript代码。最小的改动是用引号括起来:

var date = new Date("<%= datetime %>");
它至少有机会对其进行解析。不过,请注意,一些较旧的浏览器可能无法正确解析。如果可以,请使用接受数字(自纪元[1970年1月1日午夜UTC]起的毫秒)而不是字符串的
日期
构造函数版本,以避免解析字符串

我不是一个喜欢Ruby的人,但这个答案表明,你可以通过
datetime.to_time.to_I
获得从纪元开始的秒数,因此我们将其乘以1000得到毫秒:

var date = new Date(<%= datetime.to_time_to_i * 1000 %>);
var-date=新日期();
var date = new Date("2014-04-11 11:30");
var date = new Date(<%= datetime.to_time_to_i * 1000 %>);