#javascript #php #jquery
#javascript #php #jquery
Вопрос:
Я использую jquery UI datetime picker. Javascript — это скрипт на стороне клиента, поэтому он выбирает дату и время с клиентской машины.
Вот мой код:
<script>
//To set mindate in enddate
function customRange(input){
return {
minDate: (input.id == "end_date" ? $("#start_date").datetimepicker("getDate") : new Date())
};
}
// To set maxdate in startdate
function customRangeStart(input) {
return {
maxDate:(input.id == "start_date" ? $("#end_date").datetimepicker("getDate") : null)
};
}
//code for start date
$(document).ready(function() {
//pick datetime from hidden input using jquery
//var defaultdate = $("#date_server").val();
//alert(defaultdate);
$('#start_date').datetimepicker({
// I have set server datetime as default (not working)
//defaultDate: defaultdate,
beforeShow: customRangeStart,
minDate: 0,
dateFormat: "yy-mm-dd",
timeFormat: 'HH:mm:ss'
});
//code for end date
$('#end_date').datetimepicker({
beforeShow: customRange,
dateFormat: "yy-mm-dd",
timeFormat: 'HH:mm:ss'
});
});
</script>
<!-- Set server date in hidden input-->
<input type="hidden" name="date_server" id="date_server" value="<?php echo date("Y-m-d h:i:s"); ?>" >
<!-- Start date input-->
Offer start Date:<input class="form-control" type="text" name="start_date" id="start_date" value="" >
<!-- End date input-->
Offer end Date:<input class="form-control" type="text" name="end_date" id="end_date" value="" >
Теперь мой вопрос в том, как я могу заменить javascript datetime из server datetime в этот сборщик?
Теперь есть ли какой-либо способ выбрать дату и время сервера в этом средстве выбора даты и времени (jquery UI)?
Кто-нибудь делал это раньше, пожалуйста, помогите мне?
Спасибо.
Ответ №1:
Если вы используете PHP в серверной части, вы можете использовать что-то вроде date('Y-m-d h:i:s')
использования времени сервера. Вы можете сгенерировать строку кода JavaScript с помощью PHP, поскольку PHP будет проанализирован раньше.
<script type="text/javascript">
var serverDate = "<?php echo date('Y-m-d h:i:s'); ?>";
...
</script>
Кто-то, кто посещает вашу страницу, увидит не этот PHP-код, а текущую дату. Например:
<script type="text/javascript">
var serverDate = "30 Jun 2014, 12:07";
...
</script>
По практическим соображениям, если вам нужно дополнительно манипулировать датой (например, найти вещи, которые находятся между двумя датами, или разницу во времени между двумя датами), рассмотрите возможность использования временных меток. В PHP time()
будет возвращена текущая временная метка.
Комментарии:
1. Спасибо за быстрый ответ. Я пробовал, как вы предлагаете, вы можете увидеть мой код: var serverDate = «<?php echo date(‘d M Y, H:i’); ?>»; предупреждение(serverDate); $(‘#значение start_date’).элемент datetimepicker({ defaultDate: serverDate, beforeShow: customRangeStart, minDate: 0, параметра dateformat: «гг-ММ-ДД», timeformat компонента: ‘чч:мм:СС’ });
2. @RaghbendraNayak Просто убедитесь, что PHP-код действительно будет выполнен, например, путем размещения кода в файле .php.
3. Извините за поздний ответ. Пока нет. На самом деле я установил параметр и значение для этого, но это не отражается в календаре JavaScript.
4. @RaghbendraNayak обновил мой ответ; код
date()
должен соответствовать формату даты, который требуется вашему сценарию. Мой плохой! 🙂5. @RaghbendraNayak Вам, вероятно, лучше всего открыть новый вопрос и пометить этот как решенный, иначе мы потеряем представление о том, где мы точно находимся и что мы делаем.