Итак, у меня есть средство выбора даты, и я пытаюсь получить время выбранной даты, но кажется, что оно работает, только если выбранная дата меньше 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>
Если вы хотите использовать свой формат с первыми днями, вам придется преобразовать его во что-то, что Date() поймет. Безопасная ставка - это просто передача года, месяца, дня в качестве отдельных параметров. Вы также должны вычесть 1 из месяца, так как месяцы начинаются с 0 при использовании параметров таким способом.
Date()
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)); } });
Похоже, у вас неправильный формат даты, попробуйте mm/dd/yy
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); } });