Question

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.

Was it helpful?

Solution

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/

OTHER TIPS

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

If you want the value as a string use: var value = $("#myDate input").val();

The method getDate returns an object

you can use:

$("#myDate").data('datepicker').getFormattedDate('yyyy-mm-dd');

you will have it in prover format even if you set a different format to display the data for users like this

<input id="myDate" type="text" data-date-format="MM/DD/YYYY">
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top