下划线模板中的日期格式(javascript)

时间:2013-08-06 05:31:38

标签: backbone.js underscore.js jquery-ui-datepicker

我已经在stackoverflow中查询了有关日期格式的问题,我发现许多标记为重复的问题。在尝试了他们接受的各种方法作为答案之后,我发布了这个,但我无法以某种方式让它发挥作用。

首先,我使用骨干网。

我所拥有的是(Y-m-d)中来自数据库的日期格式。通过json解析,我将它放入下划线模板。我需要它是(m-d-Y)格式。

数据库中的值

data.pp.dob

我尝试过(将其转换为m-d-Y格式)

var date = new Date(data.pp.dob);
dateNew = (date.getMonth() + 1) + '-' + date.getDate() + '-' +  date.getFullYear();

我正在使用jquery datepicker插件来获取日历。所以当我尝试格式化日期时,一切都很糟糕。当我尝试触发日历时,有时会给出NAN。有时它会像4400和所有......一样给出年份。

    $('.date-picker').datepicker();

HTML代码

   <%
   var date = new Date(data.pp.dob);
   dateNew = (date.getMonth() + 1) + '-' + date.getDate() + '-' +  date.getFullYear();
   %>
   <%=dateNew%>
   <input value="<%=dateNew%>"  class="span5 date-picker dob" name="dob" id="id-date-picker-1" type="text" data-date-format="yyyy-mm-dd" />

1 个答案:

答案 0 :(得分:4)

假设您从后端收到的日期是正确的,最可能的问题就在于:

<input value="<%=dateNew%>"  class="span5 date-picker dob" name="dob" id="id-date-picker-1" type="text" data-date-format="yyyy-mm-dd" />

Datepicker小部件有一些奇怪的约定:

  • y - 年(两位数)
  • yy - year(四位数)

因此,输入格式应为: yy-mm-dd 文档:http://api.jqueryui.com/datepicker/