这是在PHP中计算天数的正确方法

时间:2016-04-21 09:01:40

标签: php codeigniter

在上面的email表编号和times我希望根据电子邮件添加时间,但这不起作用..

<?php if(count($client)): ?>
  <?php $days=0;
   date_default_timezone_set('Asia/Kolkata');
    ?>
   <?php foreach ($client as $clents):?>
    <?php
     if($clents['email']==$clents['email']){
     $today = time();
    $cdate = strtotime($clents['times']);
    $dateDiff = $today - $cdate;
    $fullDays = floor($dateDiff/(60*60*24));
    $dayscalculate = 30 - $fullDays; // Set number of days ?>

     <?php $day=$dayscalculate; 
    $days +=$day;
   }
   ?>

    <tr>
   <td><?php echo $clents['id'];?></td>
    <td><?php echo $clents['email'];?></td>
    <td><?php echo $days.(($days == 1) ? " day" : " days"); ?></td>
    <td><?php echo anchor("admin/user_view_data/{$clents['email']}",'Send Mail',array('class'=>'btn btn-info'));?></td>
  <?php endforeach;?>
  <?php endif; ?>

这不是根据电子邮件计算的,这通过电子邮件添加了全价值电子邮件

我有多次像test@test.com这样的电子邮件ID,并且还有多个时间根据电子邮件和显示电子邮件ID而不是重复条目添加时间。

我不知道请帮助我。谢谢 这是输出:

4 个答案:

答案 0 :(得分:0)

这是如何获得两个日期之间差异的示例: 从第一张图片(数据库表)中,我以ID:17

为例
$today = new DateTime("now");
$clientDateString = $clents['times'];
$clientDate = date_create($clientDateString);

$dateInterval =  date_diff($clientDate, $today);
echo $dateInterval->format('%d');

答案 1 :(得分:0)

尝试使用此项计算没有时间输入日期的天数。

$to_date = strtotime($to_date);
$from_date = strtotime($from_date);
$datediff = $to_date - $from_date;
$days = $datediff / (60 * 60 * 24) + 1;

希望这会对你有所帮助。

答案 2 :(得分:0)

如果我理解的话,试试这个:

scala> db.show()

答案 3 :(得分:0)

我认为你试图计算这样的东西就是它。

如果mm@gmail.com天= 2; 再次mm@gmail.com天= 5;

你需要mm@gmail.com天= 7;

试试这个

<?php if(count($client)): ?>
  <?php $days=0;
   date_default_timezone_set('Asia/Kolkata');

	$NEW_ARRAY =array();
    ?>
		$i=1;

   <?php foreach ($client as $clents) { ?>
    <?php
		
     if($i==1)
	 {
		  $today = time();
    $cdate = strtotime($clents['times']);
    $dateDiff = $today - $cdate;
    $fullDays = floor($dateDiff/(60*60*24));
    $dayscalculate = 30 - $fullDays; // Set number of days ?>

     <?php $day=$dayscalculate; 
		 
		 $NEW_ARRAY[$clents['email']]=$day
			 
			 //  $days +=$day;
		 
		 
    
   }
	else if(array_key_exists($clents['email'],$NEW_ARRAY))
	{
	
			
   $today = time();
    $cdate = strtotime($clents['times']);
    $dateDiff = $today - $cdate;
    $fullDays = floor($dateDiff/(60*60*24));
    $dayscalculate = 30 - $fullDays; // Set number of days ?>

     <?php $day=$dayscalculate; 
		 
		 $NEW_ARRAY[$clents['email']]=$NEW_ARRAY[$clents['email']]+$day;
			 
		// $days +=$day;
	
	
	}
	else
	{
	
		 $today = time();
    $cdate = strtotime($clents['times']);
    $dateDiff = $today - $cdate;
    $fullDays = floor($dateDiff/(60*60*24));
    $dayscalculate = 30 - $fullDays; // Set number of days ?>

     <?php $day=$dayscalculate; 
		 
		  $NEW_ARRAY[$clents['email']]=$NEW_ARRAY[$clents['email']]+$day;
			 
		// $days +=$day;
	
	
	
	}
	
	$i++;
  }