4
<li>Date From *<br />
  <input type="text" name="date_from" id="date_from" value="<?=gf_dateformat($date_from,'Y-m-d') ?>" onclick="javascript: displayDatePicker('date_from', false, 'dmy', '-');" style="width:100px;" />
</li>
<li>Date TO *<br />
  <input type="text" name="date_to" id="date_to" value="<?=gf_dateformat($date_to,'Y-m-d') ?>" onclick="javascript: displayDatePicker('date_to', false, 'dmy', '-');" style="width:100px;" onblur="" /> 
</li>                   
<li>No of Days <br />
  <input type="text" name="num_days" id="num_days" required="yes" validate='text'  title="Enter Number of Days"/>
</li>
4

3 に答える 3

0

PHP で日付の差を計算するには、手続き型とオブジェクト指向の 2 つの方法があります。

手続き型スタイル

    $datetime1 = date_create('YYYY-mm-dd');
    $datetime2 = date_create('YYYY-mm-dd');
    $interval = date_diff($datetime1, $datetime2);
    echo $interval->format('%R%a days');

    

オブジェクト指向スタイル

$datetime1 = new DateTime('YYYY-mm-dd'); $datetime2 = new DateTime('YYYY-mm-dd'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%a days');

これらのいずれかを使用できます。

于 2013-09-04T05:47:43.383 に答える
0

以下の機能をお試しください。優れた作品:

/**
 * Calculates the difference between two dates in days, months and years.
 * @param $start_date string Starting date.
 * @param $end_date string Ending date.
 * @return string Specifying the days, months and years in difference.
 * @category Date
 */
function get_date_diff($start_date, $end_date)
{
    $diff = abs(strtotime($end_date) - strtotime($start_date));

    $years = floor($diff / (365*60*60*24));
    $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
    $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

    return "{$days} days, {$months} months, {$years} years";
}
于 2013-09-04T05:57:05.007 に答える
0

このようにして、JS で 2 つの日付の違いを見つけることができます。

 var Days = Math.floor((Date2.getTime() - Date1.getTime())/(1000*60*60*24));

PHPでは、このコードを使用できます...

$startTimeStamp = strtotime("2011/07/01");
$endTimeStamp = strtotime("2011/07/17");

$timeDiff = abs($endTimeStamp - $startTimeStamp);

$numberDays = $timeDiff/86400;  // 86400 seconds in one day

// and you might want to convert to integer
$numberDays = intval($numberDays);
于 2013-09-04T05:32:42.483 に答える