ccleve
ccleve

Reputation: 15779

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

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.

Upvotes: 17

Views: 70811

Answers (4)

Yevgeniy Afanasyev
Yevgeniy Afanasyev

Reputation: 41310

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">

Upvotes: 1

Alexander Fedotov
Alexander Fedotov

Reputation: 1075

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

Upvotes: 11

Plasebo
Plasebo

Reputation: 338

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

The method getDate returns an object

Upvotes: 2

doitlikejustin
doitlikejustin

Reputation: 6353

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/

Upvotes: 19

Related Questions