Bootstrap datepicker -- how to get date as a string in the right format?

ccleve picture ccleve · Aug 12, 2013 · Viewed 66k times · Source

I'm using Bootstrap datepicker. The answer is probably obvious, but I can't figure out how to get the selected date as a string in the specified format. I used:

<div id="myDate" data-date-format="yyyy-mm-dd">
  <input type="text">
</div>

And in my javascript:

var value = $("#myDate").datepicker("getDate");

But it returns a date, not a string in yyyy-mm-dd format.

Answer

doitlikejustin picture doitlikejustin · Aug 12, 2013

The data-date-format="mm/dd/yyyy" needs to be set on the input:

<input type="text" data-date-format="MM/DD/YYYY">

Your jQuery should also be changed to:

var value = $("#myDate input").datepicker("getDate");

Or you can just keep things simple with no wrapping div and with this your original jQuery would work fine and you wouldn't have to specify input:

<input type="text" id="myDate" data-date-format="YYYY-MM-DD">

Suggestion
I would recommend creating a class to format the datepicker. So that you can then add the .datepicker class to any input field and it would work without having to specify another variable.

Fiddle
Here is working code with alert of date http://jsfiddle.net/doitlikejustin/HFuDg/1/