Javascript 未捕获的语法错误:类型日期的数字意外
我正在从数据库表中检索日期和时间,并使用服务器端(RubyonRails)将其转换为字符串 当我在脚本变量中传递日期和时间时,我得到了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
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 %>);