0

Currently, I have an onchange on a datepicker and it calls the following function

 $('#dtpFrDate').change(function() {

    var date2 = $('#dtpFrDate').datepicker('getDate'); 
    date2.setDate(date2.getDate() -1); 

    document.getElementById('dtpToDate').innerHTML = date2.toLocaleDateString();
});

But during onchange my date format is d/MM/YYYY

how to get DD/MM/YYYY? Please help.

RobG
  • 142,382
  • 31
  • 172
  • 209
Hanz Cheah
  • 761
  • 5
  • 15
  • 44

2 Answers2

1

toLocaleDateString take default local language from your device.To desire format you can use en-GB

$('#dtpFrDate').datepicker({ dateFormat: 'dd/mm/yy' });
$('#dtpFrDate').change(function() {
  var date2 = $('#dtpFrDate').datepicker('getDate');
  date2.setDate(date2.getDate() - 1);
  document.getElementById('dtpToDate').innerHTML = date2.toLocaleDateString('en-GB');
  console.log(date2.toLocaleDateString()); //My device lang is en-US
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<input id=dtpFrDate type='text'>
<div id='dtpToDate'></div>
4b0
  • 21,981
  • 30
  • 95
  • 142
0

Assuming you are using jQuery DatePicker, you can add the format you desire to your DatePicker

var date = $('#dtpFrDate').datepicker({ dateFormat: 'dd/mm/yy' }).val();
Anuraag Baishya
  • 874
  • 2
  • 11
  • 26