用JavaScript读取HTML5日期

Reading an HTML5 date in JavaScript

本文关键字:日期 HTML5 读取 JavaScript      更新时间:2023-09-26

我的项目中有一个使用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>