Итак, у меня есть datepicker, и я пытаюсь получить время выбранной даты, но кажется, что он работает, только если выбранная дата меньше 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 ответа
Если вы хотите использовать свой формат с указанием дней вначале, вам придется преобразовать его во что-то, что 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>
Похоже, у вас был неправильный формат даты, попробуйте 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>
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.
Date
начинаются с 0 и заканчиваются 11Date()
искал мм / дд / гг, пока он предоставлял дд / мм / гг ... поэтому он подумал, что дни были месяцы. Вы можете передать, например, "22.11.2019", и он будет знать, что вы имеете в виду ноябрь ... Это просто, когда вы передаете в качестве отдельных параметров, вам нужно беспокоиться о базе 0 для месяца. IE("11/22/2019")
= 22 ноября 2019 г., а(2019, 11, 22)
= 22 декабря 2019 г.