0

jqueryの日付ピッカーを使用しており、php date('YmD')関数を使用して日付を設定しています。それらの両方が今日の異なる日付を与えます。Jqueryピッカーは、php date()より1日前の日付をフィールドに入力します。これがjqueryの関数です。今日の日付をphpと同じに表示するにはjqueryが必要です。

<script type="text/javascript" charset="utf-8">
        var $j = jQuery.noConflict();                   
         $j(function()
            {

                // initialise the "Select date" link
                $j('#date-pick')
                    .datePicker(
                        // associate the link with a date picker
                        {
                            createButton:false,
                            startDate: '01/01/1970',
                            endDate: (new Date()).asString()
                            //endDate:<?php echo date('y-m-d'); ?>
                        }
                    ).bind(
                        // when the link is clicked display the date picker
                        'click',
                        function()
                        {
                            updateSelects($j(this).dpGetSelected()[0]);
                            $j(this).dpDisplay();
                            return false;
                        }
                    ).bind(
                        // when a date is selected update the SELECTs
                        'dateSelected',
                        function(e, selectedDate, $td, state)
                        {
                            updateSelects(selectedDate);
                        }
                    ).bind(
                        'dpClosed',
                        function(e, selected)
                        {
                            updateSelects(selected[0]);
                        }
                    ).val(new Date().asString()).trigger('change');

                var updateSelects = function (selectedDate)
                {
                    var selectedDate = new Date(selectedDate);
                    if(selectedDate != "Invalid Date")
                    {
                    $j('#d').val(selectedDate.getDate());
                    $j('#m').val(selectedDate.getMonth()+1);
                    $j('#y').val(selectedDate.getFullYear());
                    }
                }
                // listen for when the selects are changed and update the picker

                // default the position of the selects to today
                var today = new Date();
                updateSelects(today.getTime());

            });
        </script>
4

2 に答える 2

1

クライアントの日付と時刻を信頼しないでください

これらの値は気まぐれに変更できます。

アドバイスにそれらを使用してください。

Javascriptに加えて、ユーザーエクスペリエンスを向上させる(つまり、よりインタラクティブにする)ためにあります。しかし、結局のところ、検証していない部分をピックアップして、クライアントから取得したデータを検証する必要があります。

于 2012-10-13T14:40:01.937 に答える
1

jQueryはクライアントコンピューターの日付を使用し、phpはサーバーの日付を使用します。PHPでデフォルトのタイムゾーンを設定していない場合は、基本的に異なります。これを見てください:http: //php.net/manual/en/function.date-default-timezone-set.php

デフォルトのタイムゾーンは、PHPメインディレクトリ(PHP5.4など)にあるphp.iniファイルで設定できます。

日付ピッカーでのサーバーの日付の使用について:

クイックグーグル検索はこれに私を導きます:jquerydatepickerでサーバー側の日付を表示する方法は? 基本的に、彼らが行ったことは、現在のタイムスタンプに基づいて新しい日付を作成することです。

$timestamp = strtotime("2012-08-02");

minDate: new Date('<?php echo $timestamp; ?>');
于 2012-10-13T14:35:34.143 に答える