datetimepicker с использованием jquery (необходимо установить время сервера по умолчанию (PHP))

#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 Вам, вероятно, лучше всего открыть новый вопрос и пометить этот как решенный, иначе мы потеряем представление о том, где мы точно находимся и что мы делаем.