我的项目中有一个使用HTML5日期输入类型的输入字段。它以YYYY-MM-DD格式保存到我的数据库中。在另一页中,我从Twig访问这个日期并将其打印在表格中。打印格式为YYYY-MM-DD。到目前为止一切顺利。但是,当我尝试使用警告框来打印相同的日期时,JavaScript错误地解析日期,只显示年份(而且是错误的年份)。
输入字段(作为更大的"make plan"输入表单的一部分):
<input type="date" id="start" name="startdate" class="form-control" required="required"/>
输出:<td>{{plan.startdate}}</td> <!-- This prints correctly YYYY-MM-DD -->
<td>
<script>
alert({{plan.startdate}}); <!-- This alerts incorrectly YYYY -->
</script>
</td>
我也看不出日期之间的关系。2014-03-27在警告框中给出"1984"2014-03-20在警告框中给出"1991"2014-04-01在警告框中给出"2009"
我尝试使用JavaScript解析日期,但我不确定如何解析不正确的年份。
将其作为表达式而不是日期字符串进行计算。如果你把日期用引号括起来,那就可以了。请看下面的
<td>{{plan.startdate}}</td> <!-- This prints correctly YYYY-MM-DD -->
<td>
<script>
alert("{{plan.startdate}}"); <!-- This alerts incorrectly YYYY -->
</script>
</td>