0

これはオスコマースコードです。ブートストラップ日付ピッカーを使用しました。しかし、この日付ピッカーは機能しますが。開始日と終了日を選択し、モードもその動作のみを選択しました。それ以外の場合は、デフォルトの日付 1970/01/01 が表示されます。

<tr>
    <td width="100%" style="padding: 10px">
        <b><?php  echo TEXT_BEGINDATE;?></b>
        (yyyy-mm-dd):
        <input name="startdate" id="start_date" type="text" value="<? 

            if(date("Y-m-d",$report->begindate)==1970-01-01) { 
                echo date("Y-m-d",$report->begindate/*, $report->begindate*/);
            } else {
                echo date("Y-m-d",$report->begindate/*, $report->begindate*/);}
        ?>" />


        <b><?php  echo TEXT_ENDDATE;?></b>
        (yyyy-mm-dd):
        &nbsp;&nbsp;&nbsp;
        <input name="enddate" id="end_date" type="text"
            value="<?echo date("Y-m-d",$report->enddate/*, $report->enddate*/); ?>" />

<script>
$(function(){
   $('#start_date').datepicker({ dateFormat: "yy-mm-dd" });
   $('#end_date').datepicker({ dateFormat: "yy-mm-dd" });
});
</script>    
4

1 に答える 1

0

PHP の日付関数は、次の 2 つのパラメーターに基づいて書式設定された日付を返します。

  • 1つ目は表示形式です
  • 2 つ目 (オプション) はタイムスタンプです

2 番目のパラメーターが 1970 年 1 月 1 日よりも小さい場合、dat() によって返される日付は 1970 年 1 月 1 日のままです。

php doc から: タイムスタンプの有効な範囲は通常、1901 年 12 月 13 日金曜日 20:45:54 GMT から 2038 年 1 月 19 日火曜日 03:14:07 GMT までです。(これらは、32 ビット符号付き整数の最小値と最大値に対応する日付です)。ただし、 PHP 5.1.0 より前は、一部のシステム (Windows など) では、この範囲が 01-01-1970 から 19-01-2038に制限されていました。

変数 $report->begindate に適切なデータが含まれていない可能性があります

于 2013-04-11T08:46:24.360 に答える