Jquery DatePicker не getTime, если выбран более 12-го - PullRequest
0 голосов
/ 29 октября 2019

Итак, у меня есть средство выбора даты, и я пытаюсь получить время выбранной даты, но кажется, что оно работает, только если выбранная дата меньше 12-го числа месяца. Если вы выбираете что-то более 12-го числа, оно не возвращает время, кто-нибудь знает почему?

$('.date-selected').datepicker({
 dateFormat: 'dd/mm/yy',
 
onSelect: function(date) {

var cDate = new Date($('.date-selected').val()).getTime();
$(".test-time").text(cDate);

}
});
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input class="date-selected" value="29/10/2019">
<div class="test-time"></div>

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Если вы хотите использовать свой формат с первыми днями, вам придется преобразовать его во что-то, что Date() поймет. Безопасная ставка - это просто передача года, месяца, дня в качестве отдельных параметров. Вы также должны вычесть 1 из месяца, так как месяцы начинаются с 0 при использовании параметров таким способом.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

$('.date-selected').datepicker({
  dateFormat: 'dd/mm/yy',
 
  onSelect: function(date) {
    var dateParts = $('.date-selected').val().split('/');
    var cDate = new Date(dateParts[2],dateParts[1]-1,dateParts[0]).getTime();
    $(".test-time").text(cDate + ' = ' + new Date(cDate));
  }
});
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input class="date-selected" value="29/10/2019">
<div class="test-time"></div>
1 голос
/ 29 октября 2019

Похоже, у вас неправильный формат даты, попробуйте mm/dd/yy

$('.date-selected').datepicker({
 dateFormat: 'mm/dd/yy',
 
onSelect: function(date) {

var cDate = new Date($('.date-selected').val()).getTime();
$(".test-time").text(cDate);

}
});
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input class="date-selected" value="29/10/2019">
<div class="test-time"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...