Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how do I format date when using pikaday

I am using pikaday module for datepicker, but the format comes as inappropriate format. I tried adding this line of code but still not working:

.config(['pikadayConfigProvider', function (pikaday) {
    pikaday.setConfig({
        numberOfMonths: 1,
        format: "YYYY/MM/DD"
    });
}]) 

This is how my html looks like:

<div class="modal-body">
  <form role="form">
    <div class="form-group">
      <input type="text" class="form-control" pikaday="myPickerObject" name="time" ng-model="clas.class_.time" placeholder="Enter time" tabindex="3">
    </div>
  </form>
</div>

Also tried to add as an inline attribute

format = "yyyy/mm/dd"

still not working.

Any help

like image 377
mizlul Avatar asked Jul 19 '16 10:07

mizlul


3 Answers

You can use moment.js and set the format by setting

defaultDate : moment().format("MMM YYYY")

this will be the initial input date display format. For displaying/processing the date in other desired formats, use

var field = document.getElementById('datepicker');
var picker = new Pikaday({
onSelect: function(date) {
    field.value = this.getMoment().format('Do MMMM YYYY');
    }
});
like image 90
Pratikshya Avatar answered Oct 23 '22 06:10

Pratikshya


use moment.js to set the date format:

var picker = new Pikaday(
{
    field: document.getElementById('eDate'),
    toString(date, format) { // using moment
        return moment(date).format('MM/DD/YYYY');
    },
});
like image 22
ezlev Avatar answered Oct 23 '22 06:10

ezlev


quick update, if you don't want to use moment.js, you can fdo the following

new Pikaday({
    field: document.getElementById('eDate'), 
    toString: function(date) {
        var parts = [('0'+date.getDate()).slice(-2), ('0'+(date.getMonth()+1)).slice(-2), date.getFullYear()];
        return parts.join("-");
    }
})

this will produce 18-07-1980. You can change from '-' to '/' by changing return parts.join("-"); and you can rearrange parts to apply mm/dd/yyyy via parts array

like image 2
Nick Zulu Avatar answered Oct 23 '22 05:10

Nick Zulu